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


用shell處理文件的時候我們常常需要去掉或者加上換行符,name問題就來了怎么才能快速的替換呢?

我們有這樣一個文件[root@hxy working]# cat 1

GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497

我們需要把逗號去掉,換成換行符可以這樣做[root@hxy working]# cat 1|sed 's/,/\n/g'

GD200A16C013493

GD200A16C013494

GD200A16C013495

GD200A16C013497

但是我們反過來了呢?就是把下面的換行替換為用逗號分開,sed反過來用就不行了,[root@hxy working]# cat 1|sed 's/,/\n/g'|sed 's/\n/,/g'

GD200A16C013493

GD200A16C013494

GD200A16C013495

GD200A16C013497

我們可用awk來做用也行,如下:cat 1|sed 's/,/\n/g'|awk '{{printf"%s,",$0}}'

GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497

這里也可以用tr來處理,但是te來處理的話還需要手動刪除最后一個逗號如下:[root@hxy working]# cat 1|sed 's/,/\n/g'|tr -s '\n' ','

GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497,[root@hxy working]#

[root@hxy working]# cat 1|sed 's/,/\n/g'|tr -t '\n' ','

GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497,[root@hxy working]#

[root@hxy working]# cat 1|sed 's/,/\n/g'|tr '\n' ','

GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497,[root@hxy working]#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM