shell tr 替换 空格_shell tr命令
tr - translate or delete characters
tr命令用于轉換或刪除字符。
使用語法:
tr [–c/d/s/t] [SET1] [SET2]
-------------------------------------------------
SET1/SET2: 字符集
-c: complement,用SET2替換SET1中沒有包含的字符
-d: delete,刪除SET1中所有的字符,不轉換
-s: squeeze-repeats,壓縮SET1中重復的字符,即刪除重復的字符
-t: truncate-set1,將SET1用SET2替換,一般缺省為-t
-c:complement,用SET2替換SET1中沒有包含的字符
使用示例:
1、壓縮重復字符串
注意:這里的壓縮是指壓縮連續出現的字符,不連續的相同字符不會刪除
[~]$ echo caipengxiang | tr -s [a-z]
caipengxiang
[~]$echo ccccaippppengxxxxiang | tr -s [a-z]
caipengxiang
2、刪除多余換行符
有一個test文件內容如下(文件中間有很多多余的空行):
#test
tr-translate
hello world
如果我們不需要多余的空行可以這么做:
[~]$cat test | tr -s "\n"
#test
tr-translate
hello world
不巧的是第一行的空行沒有刪除掉,這是因為第一行的"\n"沒有其他的連續空行了。
我們直接刪除所有換行試一下:
[~]$ cat test | tr -d "\n"
#testtr-translatehello world[~]$
顯示的結果為:#testtr-translatehello world[~]$,這下可好,連最后一行的換行也刪除了,導致和shell的提示符 [~]連接在一起了。
3、大小寫轉換
[~]$ echo "my name is caipengxiang" | tr -t [a-z] [A-Z]
MY NAME IS CAIPENGXIANG
4、刪除指定字符
有test文件內容如下:
#test
tr-translate 2020-12-23
hello world 2020.12.23
執行如下命令刪除空格、數字、點、橫杠、空格(橫杠需要轉義):
[~]$cat test | tr -d "[0-9][.][\-][ ]"
#test
trtranslate
helloworld
5、字符補集替換
test文件還是以上的內容,執行如下命令:
[~]$cat test | tr -cs "[a-z][A-Z]" "\n"
test
tr
translate
hello
world
-c: 用換行符"\n"替換掉字母以外的所有字符;
-s:刪除多余的換行符。
總結
以上是生活随笔為你收集整理的shell tr 替换 空格_shell tr命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ue编辑器拖拽上传图片_editor.m
- 下一篇: 冒死揭秘安利_赵丽颖新剧开播备受争议?冒