如何在文件条目中查找模式,删除前导散列并将所有条目重定向到文件

时间:2014-03-01 19:43:56

标签: sed

查找在文件中查找模式的语法,并仅从该模式中删除前导字符。

例如,find -16并删除#并将其保存到文件中。

尝试grep 12345-16 testfile2 | sed -e "s/^#//g",但有效但需要将所有条目捕获到输入文件中。

示例:

由此:

something   here 12345-14
something   here 12345-15
# something here 12345-16

到此:

something   here 12345-14
something   here 12345-15
something   here 12345-16

建议将不胜感激。

1 个答案:

答案 0 :(得分:2)

你可以单独使用sed来完成。

sed '/12345-16/s/^# *//' file

您可以使用-i的{​​{1}}选项进行文件内更改。 sed前面的/../是一个正则表达式,只对具有该模式的行进行更改。所有剩余的行都不会被触及并按原样打印出来。

此处sed您不需要g,因为您只删除了前导global。我添加了一个#模式,表示^# * #,后面跟#一行。您可以根据文件的结构创建自己的模式。