复制文件n次并使用特定名称重命名

时间:2020-01-30 13:43:09

标签: bash copy rename

假设我在文件夹bash.sh中有一个名为/home/test/的bash脚本,在该文件夹中,我还有另外5个文件名为:file_1a.nc file_1b.nc file_2a.nc file_6a.nc file_6b.nc

我想复制bash.sh 5次,并且新副本需要与.nc文件具有相同的名称,如下所示:

file_1a_bash.sh file_1b_bash.sh file_2a_bash.sh file_6a_bash.sh file_6b_bash.sh

有什么建议吗? 谢谢

2 个答案:

答案 0 :(得分:2)

这只是bash Parameter Expansion处理的简单情况。

for f in file_*.nc; do cp bash.sh "${f%.nc}_bash.sh"; done

答案 1 :(得分:-2)

您可以将此answer应用于您的案例

find /home/test/ -type f -name '*.nc' | while read f; do 
mv "$f" "${f%.nc}_bash.sh"; 

ls -1时,也可以使用/home/test/代替find

for f in `ls -1 file_*` ; do 
cp ${f} "${f%.nc}"_bash.sh; 
done
相关问题