删除一个特殊字符并将其插入一行

时间:2013-10-31 15:16:31

标签: linux sed

如何从大文件中删除特殊字符(#)并将该字符插入特定行,例如

input.tsv

$22  23   24  25  26  
33   33   34  35  36   
44   45   46  47  48  
ID  ID1   ID2 ID3 ID4  

Output.tsv

22  23   24  25  26  
33   33   34  35  36   
44   45   46  47  48  
$ID  ID1   ID2 ID3 ID4  

我已使用sed -e 's/$//g' input.tsv文件删除了' $'然后我怎么能包括' $'到以ID开头的行

2 个答案:

答案 0 :(得分:1)

试试这个:

$ sed -e 's/\$//g' -e 's/^ID/$ID/' file
22  23   24  25  26
33   33   34  35  36
44   45   46  47  48
$ID  ID1   ID2 ID3 ID4

答案 1 :(得分:0)

仅适用于插入部分

sed -i "/ID/,/ID/{s/^/#/}" input.tsv

更简单

sed '/ID/s/^/#/' input.tsv