Copy 我想复制粘贴一个文件,然后将其重命名,在我的情况下如何执行?

Copy 我想复制粘贴一个文件,然后将其重命名,在我的情况下如何执行?,copy,rename,copy-paste,file-rename,Copy,Rename,Copy Paste,File Rename,我有许多有序编号的文件(001~099),其中包含同一个名为“red”的文件。所有这些文件都在一个目录中。我想将所有“红色”文件复制到一个文件夹(全局)中,我移动的每个“红色”文件我想按其父文件夹重命名,例如001、002..等等 我知道如何复制、移动和重命名,但我不知道如何将它们组合在一起 所以我做了 cp~/00*/red~/global mv红色001 我想使它成为一个循环,并在每次添加文件时将+1添加到001,但我失败了 有人能帮忙吗 for i in {1..99} do numb

我有许多有序编号的文件(001~099),其中包含同一个名为“red”的文件。所有这些文件都在一个目录中。我想将所有“红色”文件复制到一个文件夹(全局)中,我移动的每个“红色”文件我想按其父文件夹重命名,例如001、002..等等

我知道如何复制、移动和重命名,但我不知道如何将它们组合在一起

所以我做了

cp~/00*/red~/global mv红色001

我想使它成为一个循环,并在每次添加文件时将+1添加到001,但我失败了

有人能帮忙吗

for i in {1..99}
do
  number=$(printf "%03d" $i)

  cp ~/$number/red ~/global/$number
done
在bash
>=bash-4
中,这可能也适用:

for number in {001..099}
do
  cp ~/$number/red ~/global/$number
done
在bash
>=bash-4
中,这可能也适用:

for number in {001..099}
do
  cp ~/$number/red ~/global/$number
done

此bash脚本应该执行您描述的操作:

for i in {1..99}
do
  NUMBER="$(printf "%03d" $i)"
  cp ~/$NUMBER/red ~/global/$NUMBER
done
在循环的每次迭代中,变量$NUMBER被分配printf命令的输出(该命令打印i的值,在前面使用适当的0填充进行格式化)。然后使用$NUMBER指定从001到099的目录名


编辑:哎呀,看来Stefan比我抢先一步了

这个bash脚本应该完成您描述的任务:

for i in {1..99}
do
  NUMBER="$(printf "%03d" $i)"
  cp ~/$NUMBER/red ~/global/$NUMBER
done
在循环的每次迭代中,变量$NUMBER被分配printf命令的输出(该命令打印i的值,在前面使用适当的0填充进行格式化)。然后使用$NUMBER指定从001到099的目录名


编辑:哎呀,看来斯蒂芬比我抢先了

太谢谢你了,我试试看!非常感谢你,我试试看!谢谢你的帮助!谢谢你的帮助!