我可以修改单个文件的标头和尾标,如下所示:
header1=randomstring,header2=0000
body body body
header1=randomerstring,header2=00000
用这个命令:
sed "s/header1=.*header2=/header1=teststring1.teststring2.$(date +%d%m%Y)teststring3,header2=/" file
要得到:
header1=teststring1.teststring2051919teststring3,header2=0000
body body body
header1=teststring1.teststring2051919teststring3,header2=00000
当我尝试使用 for 循环(见下文)将上述命令应用于具有相同前缀的多个文件时,我不断收到此错误:bash: syntax error near unexpected token `/bin/busybox.exe'
. 我怎样才能解决这个问题?还有单个文件的命令,打印出文件内容,我想在遍历文件时删除它,我只是不确定要删除什么。
以下是产生错误的 for 循环命令:
for file in fileprefix.*; sed "s/header1=.*header2=/header1=teststring1.teststring2.$(date +%d%m%Y)teststring3,header2=/" i; done
再次,错误是 bash: syntax error near unexpected token `/bin/busybox.exe'.
do
在循环中的 'sed' 前面放一个,它应该可以工作;do 和 done 只能成对出现。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句