Linux基礎命令---tr

一生有你llx發表於2018-12-03

tr

刪除或者更改檔案中的字串,這個指令一般需要兩個字符集。此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1 、語法

tr  [ 選項]  set1  set2

 

2 、選項列表

選項

說明

--help

顯示幫助文件

--version

顯示版本資訊

-c | -C | --complement

使用SET1的補碼

-d | --delete

刪除字符集1中指定的內容

-s | --squeeze-repeats

將set1中重複出現的內容,替換成單次出現的內容

-t | --truncate-set1

首先將SET1按照SET2的長度截斷

集合指定為字串。大多數人代表自己。解釋序列是:

序列

說明

\NNN

具有八進位制值nnn的字元(1到3位八進位制數字)

\\

反斜線符號

\a

可聽BEL

\b

(鍵盤的)退格鍵

\f

換頁

\n

換行

\r

返回

\t

水平tab

\v

垂直tab

CHAR1-CHAR2

從CHAR 1到CHAR 2的所有字元按升序排列

[CHAR*]

拷貝set2中的字元,長度為set1的長度

[CHAR*REPEAT]

重複拷貝

[:alnum:]

所有字母和數字

[:alpha:]

所有字母

[:blank:]

所有的水平空白

[:cntrl:]

所有的控制字元

[:digit:]

所有的數字

[:graph:]

所有的可列印的字元,不包括空格

[:lower:]

所有的小寫字母

[:print:]

所有的可列印字元,包括空格

[:punct:]

所有標點符號

[:space:]

所有的水平和垂直空格

[:upper:]

所有的大寫字母

[:xdigit:]

所有的十六進位制數字

[=CHAR=]

所有等價於CHAR的字元

如果沒有給出‘-d’,同時出現SET1和SET2,則會發生翻譯。‘-t’只能在翻譯時使用。通過在必要時重複SET1的最後一個字元,Set2被擴充套件到SET1的長度。Set2的多餘字元將被忽略。只有[:lower:]和[:upper:]保證按升序展開;在set2翻譯時使用,它們只能成對使用以指定大小寫轉換。‘-s’在不翻譯或刪除時使用SET1;壓縮使用SET2,並在翻譯或刪除後發生。

    

3 、例項

1 )刪除內容

[root@localhost   weijie]# cat 1.c

hello world, i am   david. i love linux, love code.

[root@localhost   weijie]# tr -d hello < 1.c        // 1.c 的內容輸出到 tr ,然後刪除出現的字元

 wrd, i am david. i v inux, v cd.                   // 這裡並不是刪除一個單詞 hello ,而是刪除出現的這 5 個字母

2 )將檔案中的小寫字母替換成大寫

[root@localhost   weijie]# tr -s a-z A-Z < 1.c

HELO WORLD, I AM   DAVID. I LOVE LINUX, LOVE CODE.



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29270124/viewspace-2222004/,如需轉載,請註明出處,否則將追究法律責任。