我用来sed
对文件头进行简单替换。有时需要更换它们,有时则不需要。它可以正常工作,但是很长,因为它每次都读取文件(数百MB)。但是,有一种模式可以将标题与内容分开。
sed
遇到某种模式后,如何告诉我停止处理文件?
例子 :
我想在此处编辑的blabla标头,但可能不在此处标出更多内容
假设您想从标题中删除“想要”,但是单词可能不在标题中。我知道我想停止在FRAME处理文件。
sed -i '0,/\(pattern1\|pattern2\)/s//pattern1/' * ; # TODO stop at FRAME
您可以使用该q
命令退出sed处理其余的输入
sed -i '0,/\(pattern1\|pattern2\)/s//pattern1/' * ; /FRAME/q'
/FRAME/
模式与执行FRAME
命令q
所在的行匹配或者
直到它遇到可以指定该文件的起始地址范围FRAME
为
sed '0, /FRAME/ s/old/new'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句