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

Sed 如何在文件条目中查找模式,删除前导散列并将所有条目重定向到文件,sed,Sed,查找在文件中查找模式并仅从该模式中删除前导字符的语法 例如,查找-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

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

例如,
查找-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

如有建议,将不胜感激

只需使用
sed
即可

sed '/12345-16/s/^# *//' file
您可以使用
sed
-i
选项进行文件内更改/../是一个regex,它只在具有该模式的行上进行更改。所有剩余的行将不会被触摸并按原样打印出来


您不需要在此处为
global
添加
g
,因为您只删除了前面的
#
。我添加了一个
^#*
模式,意思是
,然后在行的开头加上
空格。您可以根据文件的结构创建自己的模式

工作得很好。非常感谢。@user3369123不客气。不要忘了点击问题旁边的复选标记来标记问题完成。