用shell處理檔案的時候我們常常需要去掉或者加上換行符,name問題就來了怎麼才能快速的替換呢?
我們有這樣乙個檔案
[root@hxyworking]#cat1
gd200a16c013493,gd200a16c013494,gd200a16c013495,gd200a16c013497
我們需要把逗號去掉,換成換行符可以這樣做
[root@hxyworking]#cat1|sed's/,/\n/g'
gd200a16c013493
gd200a16c013494
gd200a16c013495
gd200a16c013497
但是我們反過來了呢?就是把下面的換行替換為用逗號分開,sed反過來用就不行了,
[root@hxyworking]#cat1|sed's/,/\n/g'|sed's/\n/,/g'
gd200a16c013493
gd200a16c013494
gd200a16c013495
gd200a16c013497
我們可用awk來做用也行,如下:
cat1|sed's/,/\n/g'|awk'}'
gd200a16c013493,gd200a16c013497
這裡也可以用tr來處理,但是te來處理的話還需要手動刪除最後乙個逗號如下:
[root@hxyworking]#cat1|sed's/,/\n/g'|tr-s'\n'','
gd200a16c013493,gd200a16c013497,[root@hxyworking]#
[root@hxyworking]#cat1|sed's/,/\n/g'|tr-t'\n'',/\n/g'|tr'\n'',[root@hxyworking]#
總結
shell 去掉換行 shell替換和去掉換行符
用shell處理檔案的時候我們常常需要去掉或者加上換行符,name問題就來了怎麼才能快速的替換呢?我們有這樣乙個檔案 root hxy working cat 1 gd200a16c013493,gd200a16c013494,gd200a16c013495,gd200a16c013497 我們需要...
SHELL指令碼查詢指定內容的行號,並刪除替換該行
適合檔案中只有乙個指定字串的行 原文章 bin bash 查詢的字串 str1 string1 新字串 newstr string2 被替換的檔名 filename filename 獲取指定字串的行號 line sed n str1 filename 刪除這行 sed i line d filen...
shell替換和去掉換行符
用shell處理檔案的時候我們常常需要去掉或者加上換行符,name問題就來了怎麼才能快速的替換呢?我們有這樣乙個檔案 1 2 root hxy working cat 1 gd200a16c013493,gd200a16c013494,gd200a16c013495,gd200a16c013497 ...