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