【问题标题】:renaming files in different folders重命名不同文件夹中的文件
【发布时间】:2021-04-16 17:07:37
【问题描述】:

我有 1000 个文件夹,每个文件夹包含 5 个同名的文件,我想复制这些文件并以不同的名称重命名。

例如:

我的文件夹路径

/home/yuan/data/foldera1/*
/home/yuan/data/foldera2/*
/home/yuan/data/foldera3/*
/home/yuan/data/foldera4/*
.........................
/home/yuan/data/foldera1000/*

我要重命名的文件是

data1.ax.ze  to  data.a1.z1
datay.ax.z1  to  data.a2.z2
dataw.ac.zt  to  data.a3.z3
data4.an.z5  to  data.a4.z4
datax.aa.zq  to  data.a5.z5

我尝试了下面的脚本:但它不会重命名每个文件夹中的文件

for file in /home/yuan/data/foldera?/*
do
cp data1.ax.ze    data.a1.z1
cp datay.ax.z1    data.a2.z2
cp dataw.ac.zt    data.a3.z3
cp data4.an.z5    data.a4.z4
cp datax.aa.zq    data.a5.z5
done

希望专家能帮我解决这个问题。在此先感谢。

【问题讨论】:

    标签: bash shell for-loop rename


    【解决方案1】:
    for dir in /home/yuan/data/foldera*; do
      cd "$dir"
      cp data1.ax.ze    data.a1.z1
      cp datay.ax.z1    data.a2.z2
      cp dataw.ac.zt    data.a3.z3
      cp data4.an.z5    data.a4.z4
      cp datax.aa.zq    data.a5.z5
    done
    

    【讨论】:

      猜你喜欢
      • 2018-12-28
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 2014-09-09
      相关资源
      最近更新 更多