【发布时间】:2018-02-20 20:47:21
【问题描述】:
我有很多文件,从 file0 到 file3100。我想在每个文件中为一行添加###。
线
Generated by trjconv : PTEG1 t= 8100.00000
应该是
###Generated by trjconv : PTEG1 t= 8100.00000
每个文件中的时间(t)不同。如何一次将###添加到每个文件中,并且每个文件中的时间(t)仍然与添加之前相同?
这是我尝试过的:
#!/bin/bash
# loop all inp files in the current dir
for frameFile in frame*.inp; do
sed -i -r -e 's/Generated by trjconv : pteg-1 t=.+/###Generated by trjconv : pteg-1 t=.+/g' ${frameFile}
fi
done
【问题讨论】:
-
使用来自多个文件的输入行更新您的问题
-
这是前一行: 由 trjconv 生成 : PTEG1 t= 900.00000 谐波 ,应该是这样 : # # # 由 trjconv 生成 : PTEG1 t= 900.00000 谐波
-
问题是你需要事先比较
t(time)相等性上的所有文件 -
是的,时间不会改变每个文件中的时间。
-
我有这个脚本,但它不起作用 #!/bin/bash # 循环当前目录中的所有 inp 文件 for frameFile in frame*.inp do sed -i -r -e ' s/由 trjconv 生成:pteg-1 t=.+/###由 trjconv 生成:pteg-1 t=.+/g' ${frameFile} fi done