日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux tr 字符串,linux tr命令-转换或删除输入的字符的

發布時間:2025/4/5 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux tr 字符串,linux tr命令-转换或删除输入的字符的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

使用tr命令可以對輸入的字符串的字符進行替換、壓縮和刪除(使用-d選項),需要注意的是,每個替換行為是根據原字符串進行的,也可以理解成是同時一一替換,而不是等待第一個字符替換完了再替換下一個。下圖說明

image

# echo "helloc,world" | tr 'lo' 'oe' //l替換o后,那候些替換過來的o不會替換為e

heooec,werod

命令格式

tr [-cdst][--help][--version][第一字符集][第二字符集]

tr [OPTION]…SET1[SET2]

參數說明:

字符集1:指定要轉換或刪除的原字符集。當執行轉換操作時,必須使用參數“字符集2”指定轉換的目標字符集。但執行刪除操作時,不需要參數“字符集2”;

字符集2:指定要轉換成的目標字符集。

'A-Z' 和 'a-z'都是集合,集合是可以自己制定的,例如:'ABD-}'、'bB.,'、'a-de-h'、'a-c0-9'都屬于集合,集合里可以使用'\n'、'\t',可以可以使用其他ASCII字符。

-c, --complement:反選設定字符。也就是符合 SET1的部份不做處理,不符合的剩余部份才進行轉換

-d, --delete:刪除指令字符

-s, --squeeze-repeats:縮減連續重復的字符成指定的單個字符

-t, --truncate-set1:削減 SET1 指定范圍,使之與 SET2 設定長度相等,然后SET1中的字符替換成SET2字符

實例

刪除數字

# echo "1234abcd" | tr -d [:digit:]

abcd

刪除特定字符

# echo "1234567843ab,cd" | tr -d 34

125678ab,cd

反向刪除

# echo "1234567843ab,cd" | tr -Cd 34

3443

將制表符轉換為空格

cat text | tr '\t' ' '

縮減連續重復的字符成指定的單個字符

# echo "123333a4444ab,cd" | tr -s 34 zs //將連續的3和4分別替換成單個z好s

12zasab,cd

小寫轉大寫

# echo "hello,world" | tr a-z A-Z

HELLO,WORLD

# echo "hello,world" | tr [:lower:] [:upper:]

HELLO,WORLD

# echo "hello,world" | tr a-z A-Z

HELLO,WORLD

# echo "hello,world" | tr [:lower:] [:upper:]

HELLO,WORLD

刪除Windows文件“造成”的'^M'字符

cat file | tr -s "\r" "\n" > new_file

cat file | tr -d "\r" > new_file

# echo "helloc,world" | tr -t 'lowc' 'oe' //將lowc截斷成lo,然后將字符串中l替換成o,o替換成e,需要注意的是,每個替換行為是根據原字符進行的

heooec,werod

tr --help

Usage: tr [OPTION]... SET1 [SET2]

Translate, squeeze, and/or delete characters from standard input,

writing to standard output.

-c, -C, --complement use the complement of SET1

-d, --delete delete characters in SET1, do not translate

-s, --squeeze-repeats replace each input sequence of a repeated character

that is listed in SET1 with a single occurrence

of that character

-t, --truncate-set1 first truncate SET1 to length of SET2

--help display this help and exit

--version output version information and exit

SETs are specified as strings of characters. Most represent themselves.

Interpreted sequences are:

\NNN character with octal value NNN (1 to 3 octal digits)

\\ backslash

\a audible BEL

\b backspace

\f form feed

\n new line

\r return

\t horizontal tab

\v vertical tab

CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order

[CHAR*] in SET2, copies of CHAR until length of SET1

[CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0

[:alnum:] all letters and digits

[:alpha:] all letters

[:blank:] all horizontal whitespace

[:cntrl:] all control characters

[:digit:] all digits

[:graph:] all printable characters, not including space

[:lower:] all lower case letters

[:print:] all printable characters, including space

[:punct:] all punctuation characters

[:space:] all horizontal or vertical whitespace

[:upper:] all upper case letters

[:xdigit:] all hexadecimal digits

[=CHAR=] all characters which are equivalent to CHAR

Translation occurs if -d is not given and both SET1 and SET2 appear.

-t may be used only when translating. SET2 is extended to length of

SET1 by repeating its last character as necessary. Excess characters

of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to

expand in ascending order; used in SET2 while translating, they may

only be used in pairs to specify case conversion. -s uses SET1 if not

translating nor deleting; else squeezing uses SET2 and occurs after

translation or deletion.

GNU coreutils online help:

For complete documentation, run: info coreutils 'tr invocation'

總結

以上是生活随笔為你收集整理的linux tr 字符串,linux tr命令-转换或删除输入的字符的的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。