每天一個 Linux 命令: tr 命令
1. 命令簡介
tr(translate)
用來轉換或者刪除一段文字。tr
所有的功能均可由 sed
來完成,可以將 tr
視爲 sed
一個極簡的實現。
2. 命令格式
tr [OPTIONS] SET1 [SET2]
3. 選項說明
-c, -C, --complement SET1 [SET2]
將字符集 SET1 以外的其他字符刪除或者轉換爲字符集 SET2 中的最後一個字符(如果你指定了多個字符的話)
-d, --delete
刪除 SET1 這個字符串
-s, --squeeze-repeats
如果 SET1 中的字符連續出現多次,壓縮重複的字符,只保留一個
-t, --truncate-set1
先將 SET1 的長度截爲和 SET2 相等
--help
顯示幫助信息並退出
--version
顯示版本信息並退出
4. 常用示例
(1)將 last 輸出的信息中所有小寫的字符變成大寫字符。
last | tr [a-z] [A-Z]
(2)將 /etc/passwd 輸出的信息中的冒號 : 刪除。
cat /etc/passwd | tr -d ':'
(3)將 DOS 文件轉成 Unix 文件。
cat /etc/passwd | tr -d '\r'
(4)刪除空行。
cat file | tr -s "\n" > new_file
(5)將文件中 “abc” 分別替換爲 “xyz” 中對應的字符。
cat file | tr "abc" "xyz" > newFile
注意:這裏凡是在 file 中出現的 "a" 字母,都替換成 "x" 字母,"b" 字母替換爲 "y" 字母,“c"字母替換爲"z"字母,而不是將字符串"abc"替換爲字符串"xyz”。
(6)替換指定字符集以外的字符。
echo -n "alv blv" | tr -c "lv " "x"
xlv xlv
echo -n 表示不輸出換行符。
(7)從輸入文本中將不在補集中的所有字符刪除。
echo -n "alv blv" | tr -dc "lv"
lvlv
轉自:戀貓大鯉魚 dablelv.blog.csdn.net/article/details/80223771
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/Ffga7Ws4lPmJGeayB0bERQ