复制文件夹并更改该文件夹中文件的值

Tre*_*zam 1 bash shell

我有一个名为main的文件夹.我想将此文件夹及其所有文件复制300次,并将每个新文件夹重命名为example0,example1,example2,example3 .... example300.

文件夹中有许多文件.我想找到文件config.ini,每次查找这行"amount = 0",每次创建一个新文件夹时将0增加1.

因此example0文件夹的配置文件数量值将为0,example1文件夹的配置文件数量值将为1,依此类推.

请问我能得到一些帮助.我本可以手动创建文件夹,但300有点多.寻找一种更简单的方法.谢谢.

sjs*_*sam 5

for i in {0..300} # for loop to iterate from 0 to 300
do
cp -R main "example$i"
sed -i "s/amount = 0/amount = $i/" "example$i/config.ini"
done
Run Code Online (Sandbox Code Playgroud)

应该这样做.


这里发生了什么?

  1. for-loop打开一个计数器i为你,它的值按顺序从0到300
  2. cp -R main "example$i" 递归地将main复制到example0,example1等等.
  3. sed命令小心地将字符串amount = 0替换为amount = counter,该-i选项使编辑就位.

  • 对于{1..300}中的i,Bash样式循环可能更具可读性. (2认同)