bash脚本来复制文件到位更改名称

时间:2013-12-05 18:41:36

标签: bash

这是一个非常简单的脚本,我会假设但我的bash技能不存在。

我有一个名为file_name_01.txt的文件,我需要生成与此文件相同的N个文件(即:重复),但更改名称以使结尾按升序排列。生成的文件将如下命名:

file_name_02.txt
file_name_03.txt
...
file_name_09.txt
file_name_10.txt
...
file_name_N.txt

如何生成这样的脚本?

2 个答案:

答案 0 :(得分:1)

怎么样:

for i in {2..20}; do cp file_name_01.txt $(printf 'file_name_%02d.txt' $i); done

将“20”替换为您的N值。该命令相当于:

cp file_name_01.txt file_name_02.txt
cp file_name_01.txt file_name_03.txt
cp file_name_01.txt file_name_04.txt
cp file_name_01.txt file_name_05.txt
cp file_name_01.txt file_name_06.txt
cp file_name_01.txt file_name_07.txt
cp file_name_01.txt file_name_08.txt
cp file_name_01.txt file_name_09.txt
cp file_name_01.txt file_name_10.txt
cp file_name_01.txt file_name_11.txt
cp file_name_01.txt file_name_12.txt
cp file_name_01.txt file_name_13.txt
cp file_name_01.txt file_name_14.txt
cp file_name_01.txt file_name_15.txt
cp file_name_01.txt file_name_16.txt
cp file_name_01.txt file_name_17.txt
cp file_name_01.txt file_name_18.txt
cp file_name_01.txt file_name_19.txt
cp file_name_01.txt file_name_20.txt

答案 1 :(得分:1)

使用xargs

printf "%s\0" file_name_{02..11}.txt | xargs -0 -L 1 -I {} cp file_name_01.txt {}