Linux Shell命令 tr命令

2021-08-10 19:48:00 字數 3961 閱讀 9988

在linux常用的命令中,我們可以通過使用tr,非常容易地實現 sed 的許多最基本功能。

(1)定義:日常操作中,tr用來從標準輸入中通過替換或刪除操作進行字元轉換。

(2)使用格式:

#tr -c -d -s ["string1_to_translate_from"]["string2_to_translate_to"] < input-file

options:

-c 用字串1中字符集的補集替換此字符集,要求字符集為ascii。

-d 刪除字串1中所有輸入字元。

-s 刪除所有重複出現字串行,只保留第乙個;即將重複出現字串壓縮為乙個字串。

input-file是轉換檔名。

(3)字元範圍

指定字串1或字串2的內容時,只能使用單字元或字串範圍或列表(可以是正規表示式)。

[a-z] a-z內的字元組成的字串。

[a-z] a-z內的字元組成的字串。

[0-9] 數字串。

\octal 乙個三位的八進位制數,對應有效的ascii字元。

[o*n] 表示字元o重複出現指定次數n。因此[o*2]匹配oo的字串。

1、將檔案file中出現的"abc"替換為"xyz"

# cat file | tr "abc" "xyz" > new_file

注意:凡是在file中出現的"a"字母,都替換成"x"字母,"b"字母替換為"y"字母,"c"字母替換為"z"字母。而不是將字串"abc"替換為字串"xyz"。

2、使用tr命令字母大小寫(小寫 <--> 大寫)

# cat file | tr [a-z] [a-z] > new_file

# cat file | tr [a-z] [a-z] > new_file

3、把檔案中的數字0-9替換為a-j

# cat file | tr [0-9] [a-j] > new_file

4、刪除檔案file中出現的"snail"字元

# cat file | tr -d "snail" > new_file

注意:凡是在file檔案中出現的's','n','a','i','l'字元都會被刪除!而不是緊緊刪除出現的"snail」字串。

5、刪除檔案file中出現的換行'\n'、製表'\t'字元

# cat file | tr -d "\n\t" > new_file

6、刪除「連續的」重複字母,只保留第乙個

# cat file | tr -s [a-za-z] > new_file

7、刪除空行

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

8、刪除控制符號'^a'字元

# cat file | tr -d "\01" > new_file

9、用soh符號\01替換stx符號\02

#cat file |tr -s "\02" "\01" >new_file

八進位制十六進製制

十進位制字元

八進位制十六進製制

十進位制字元

0000

0nul

1004064@

0101

1soh

1014165a

0202

2stx

1024266b

0303

3etx

1034367c

0404

4eot

1044468d

0505

5enq

1054569e

0606

6ack

1064670f

0707

7bel

1074771g

10088bs

1104872h

11099ht

1114973i

120a

10nl

1124a74j

130b

11vt

1134b75k

140c

12ff

1144c76l

150d

13er

1154d77m

160e

14so

1164e78n

170f

15si

1174f79o

2010

16dle

1205080p

2111

17dc1

1215181q

2212

18dc2

1225282r

2313

19dc3

1235383s

2414

20dc4

1245484t

2515

21nak

1255585u

2616

22syn

1265686v

2717

23etb

1275787w

3018

24can

1305888x

3119

25em

1315989y

321a

26sub

1325a90z

331b

27esc

1335b91[

341c

28fs

1345c92\

351d

29gs

1355d93]

361e

30re

1365e94^

371f

31us

1375f95_

4020

32sp

1406096'

412133!

1416197a

422234"

1426298b

432335#

1436399c

442436$

14464

100d

452537%

14565

101e

462638&

14666

102f

472739`

14767

103g

502840(

15068

104h

512941)

15169

105i

522a42*

1526a

106j

532b43+

1536b

107k

542c44,

1546c

108l

552d45-

1556d

109m

562e46.

1566e

110n

572f47/

1576f

111o

6030480

16070

112p

6131491

16171

113q

6232502

16272

114r

6333513

16373

115s

6434524

16474

116t

6535535

16575

117u

6636546

16676

118v

6737557

16777

119w

7038568

17078

120x

7139579

17179

121y

723a58:

1727a

122z

733b59;

1737b

12376

3e62

>

1767e

126~

773f63?

1777f

127del

Android開發Linux shell命令

一 shell快捷鍵使用 1 上下箭頭調出歷史命令 2 ctrl a跳到第乙個字元前 3 ctrl u刪除提示符前的所有字元 4 ctrl k刪除提示符後全部字元 5 ctrl e轉到字元尾部 6 ctrl r向前查詢用過的命令 7 命令補齊 8 ctrl c 撤消當前命令列的編輯,另起一行.9 清...

mac的 tr命令 tr命令使用

tr translate or delete characters 命令 tr option set1 set2 引數 c,complement 反選設定字元。也就是符合 set1 的部份不做處理,不符合的剩餘部份才進行轉換 d,delete 刪除指令字元 s,squeeze repeats 縮減連...

說說Linux shell外部命令與內建命令

linux 命令有內部命令 內建命令 和外部命令之分,內部命令和外部命令功能基本相同,但也有些細微差別。內部命令 內部命令不需要使用子程序來執行,它們已經和shell編譯成一體,作為shell工具的組成部分存在。不需要借助外部程式檔案來執行。它們是一些比較簡單的linux系統命令,如exit,his...