查找在文件中查找模式的语法,并仅从该模式中删除前导字符。
例如,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
建议将不胜感激。
答案 0 :(得分:2)
你可以单独使用sed
来完成。
sed '/12345-16/s/^# *//' file
您可以使用-i
的{{1}}选项进行文件内更改。 sed
前面的/../
是一个正则表达式,只对具有该模式的行进行更改。所有剩余的行都不会被触及并按原样打印出来。
此处sed
您不需要g
,因为您只删除了前导global
。我添加了一个#
模式,表示^# *
或 #
,后面跟#
一行。您可以根据文件的结构创建自己的模式。