我有这样的代码文件来替换一个词:如何替换赛后的单词?
function replace_str {
echo "${1//${2}/${3}}"
}
myfile=$(cat input.txt)
myfile=$(replace_str "$myfile" 'banana' 'stackoverflow')
echo "$myfile"
然后,与此内容在input.txt中:
banana
poop
poop
poop
banana
START123
poop
banana
banana
poop
START 6yu
poop
banana
结果如下:
stackoverflow
poop
poop
poop
stackoverflow
START123
poop
stackoverflow
stackoverflow
poop
START 6yu
poop
stackoverflow
而我正在寻找的是取代所有banana
字,这是在第一个^START.*
比赛后。这是所需的输出:
banana
poop
poop
poop
banana
START123
poop
stackoverflow
stackoverflow
poop
START 6yu
poop
stackoverflow
什么是最有效的方法呢?我认为在切割文件,取代它,并再次合并,但我认为不是好主意。
之前还是之后?从期望的输出看来,它应该是_after_。 – devnull
是的,谢谢!发布编辑。 :) – harrison4
将一个文件存储到一个变量然后尝试操作它并不是一个好主意。虽然这可能是一个很好的学术练习,但最好避免。 – devnull