tr命令怎么用,linux 命令:tr 詳解

 2023-12-06 阅读 28 评论 0

摘要:tr 命令的功能是轉換或刪除字符。 用法:tr [OPTION]... SET1 [SET2] 選項: -c, -C, --complement? ? ? ? 用 SET2 替換?SET1 中沒有包括的字符 -d, --delete? ? ? ? ? ? ? ? ? ? ? ? 刪除 SET1 中的字符 -s, --squeeze-repeats? ? ? ?壓縮 SET1 中重復的字符 -t

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、空格、換行符)替換為井號(#)。?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/192818.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息