寻找语法以在文件中查找模式并仅从该模式中删除前导字符。
例如,find -16删除#并将其保存到文件中。
尝试过grep 12345-16 testfile2 | sed -e "s/^#//g"哪个有效,但需要将所有条目捕获到输入文件中。
例子:
由此:
something here 12345-14
something here 12345-15
# something here 12345-16
Run Code Online (Sandbox Code Playgroud)
对此:
something here 12345-14
something here 12345-15
something here 12345-16
Run Code Online (Sandbox Code Playgroud)
如有建议,我们将不胜感激。
你一个人就可以做到sed。
sed '/12345-16/s/^# *//' file
Run Code Online (Sandbox Code Playgroud)
您可以使用-i选项sed来进行文件内更改。/../前面sed是一个正则表达式,它只对具有该模式的行进行更改。所有剩余的行将不会被触及并按原样打印出来。
g这里不需要,global因为您只是删除前导#. 我在行首添加了一个^# *表示# 或 #后跟的模式。spaces您可以根据文件的结构创建自己的模式。