我已经在bash中启动了这个小脚本:
for i in {001..020..1}; do
sed -i "s/mbr001/mbr${i}/" ./mbr${i}/program_1.py
sed -i "s/mbr001/mbr${i}/" ./mbr${i}/program_2.py
done
但是我注意到很多时候,字符串mbr001保留在某些程序中program_1.py, program_2.py
中。在多次启动脚本之后,现在看来mbr001
的外观已经更改为它的对应字符串。
我怀疑这种行为是由于sed
一旦找到一行中的特定字符串就停止搜索,然后跳到下一个而不考虑同一行中其他出现的情况。
您可以确认吗?如何确定sed
一次更改所有内容?谢谢。
答案 0 :(得分:1)
您能确认吗?
已确认
如何确保sed一次更改所有内容?
添加/g
代替每行中的所有匹配项,而不仅仅是第一行