tr 命令的功能是轉換或刪除字符。
用法:tr [OPTION]... SET1 [SET2]
選項:
-c, -C, --complement? ? ? ? 用 SET2 替換?SET1 中沒有包括的字符
-d, --delete? ? ? ? ? ? ? ? ? ? ? ? 刪除 SET1 中的字符
-s, --squeeze-repeats? ? ? ?壓縮 SET1 中重復的字符
-t, --truncate-set1? ? ? ? ? ? ? 將 SET1 截成與 SET2 一樣的長度
--help? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 幫助文檔
--version? ? ? ? ? ? ? ? ? ? ? ? ? ? 版本信息
SET 包含的特殊字符如下:
\NNN 八進制值的字符 NNN (1 to 3 為八進制值的字符)
\\ 反斜杠
\a 鈴聲
\b 退格符
\f 換頁符
\n 換行符
\r 回車符
\t 水平制表符
\v 垂直制表符
CHAR1-CHAR2 從 CHAR1 到 CHAR2 的所有字符,升序
[CHAR*] 重復 SET2 中的 CHAR 到與 SET1 相同長度為止
[CHAR*REPEAT] 重復 SET2 中的 CHAR 到 REPEAT 指定的長度,REPEAT單位是8進制數
[:alnum:] 所有的字母和數字
[:alpha:] 所有字母
[:blank:] 水平制表符,空白等
[:cntrl:] 所有控制字符
[:digit:] 所有的數字
[:graph:] 所有可打印字符,不包括空格
[:lower:] 所有的小寫字符
[:print:] 所有可打印字符,包括空格
[:punct:] 所有的標點字符
[:space:] 所有的橫向或縱向的空白
[:upper:] 所有大寫字母
[:xdigit:] 所有16進制數
[=CHAR=] CHAR
使用示例:
?1. 不加選項:
[root@server dir]# echo "Merry Christmas" | tr a-z A-Z
MERRY CHRISTMAS
[root@server dir]# echo "Merry Christmas" | tr [:lower:] [:upper:]
MERRY CHRISTMAS
[root@server dir]# echo "Merry Christmas" | tr r a
Meaay Chaistmas
2. -s 選項:
[root@server dir]# echo "aaabbbeeecccddd" | tr -s abcde
abecd
3. -d 選項:
[root@server dir]# echo "Merry Christmas" | tr -d r
Mey Chistmas
4. -t 選項:
[root@server dir]# echo "Merry Christmas" | tr -t a-z A-N
MErry CHrIstMAs
[root@server dir]# echo "Merry Christmas" | tr a-z A-N
MENNN CHNINNMAN
可以看到,在不使用 -t 時,如果 SET2 的長度小于 SET1,SET1 中有但 SET2 中沒有的字符,將不會被替換。在使用 -t 時,如果 SET2 的長度小于 SET1,SET1 中有但 SET2 中沒有的字符,將被 SET2 中最后一個字符替換。
5. -c 選項:
[root@server dir]# echo "Merry Christmas" | tr -c a-z "#"
#erry##hristmas#
把標準輸入中的不包括在 SET1(a-z)的字符(M、C、空格、換行符)替換為井號(#)。?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态