我想将序列化数字放在文本文件中的已定义位置。 我的想法是在文件中使用字符模式,计算变量并通过在文件中使用sed来放置它们。我试过这个:
for number in 1 2 3 4 ; do
sed -ibak "s/var/$number" file.txt > file2.txt
done
(论证1 2 3 ......不是最好的解决方案,但我认为,它应该有效)
使用此代码及其微小变化,我得到了不同的结果,但没有成功。 我可以在文本中剪切/粘贴图案,但它始终是插入的最后一个参数(=“3”)。为什么sed不采用迭代变量? (计算好了,我用echo测试了它。)
答案 0 :(得分:3)
第一次迭代用var
替换1
,下一次迭代用var
替换完全相同的2
等等 - 因为你每次都在相同的输入上操作,而且模式不是动态的。
目前尚不清楚您想要实现的目标,因此很难提供可行的解决方案。
Perl可能更容易实现:
perl -pe 's/picvar/"pic" . ++$i/e'