自动文件名和使用 bash 进行编辑

问题描述 投票:0回答:2

此 Bash 片段生成文件

IRC1.gjf
IRC2.gjf
的副本,等等

for i in {001..40}; do 
    cp IRC1.gjf "IRC$i.gjf" &&
    sed -i "s/1$/$i/g" "IRC$i.gjf"
done

但是我想编辑每个文件内容,用“point2-F”等替换“point1-F” 所以我们最终得到

File40.gjf
,其中包含“point40-F”。

没有尝试任何事情,因为这不是我的专业领域。

bash file auto editing
2个回答
0
投票

sed
不适用于编辑 GIF 等二进制文件。 您需要一个可以处理二进制文件的工具或能够进行编辑的程序,例如 ImageMagick 或类似工具。


0
投票

复制文件并然后在其上运行

sed -i
是笨拙且浪费的。

for i in {001..40}; do
    sed "s/1$/$i/g" IRC1.gjf  >"IRC$i.gjf"
done

要进行其他修改,...进行修改。

for i in {001..40}; do
    sed -e "s/1$/$i/g" \
        -e "s/point1-F/point$i-F/" IRC1.gjf >"IRC$i.gjf"
done
© www.soinside.com 2019 - 2024. All rights reserved.