(給Linux愛好者加星標,提升Linux技能)
轉自:戀貓大鯉魚
dablelv.blog.csdn.net/article/details/80223771
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 xlvecho -n 表示不輸出換行符。
(7)從輸入文本中將不在補集中的所有字符刪除。
echo -n "alv blv" | tr -dc "lv"
lvlv給我們公號發送 命令 二字,獲取「每天一個Linux命令」系列的完整目錄。
- EOF -
看完本文有收穫?請分享給更多人
推薦關注「Linux 愛好者」,提升Linux技能
點讚和在看就是最大的支持❤️