shell 去掉逗號 shell替換和去掉換行符

2021-10-18 17:18:19 字數 904 閱讀 6795

用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 ...