Reputation: 42329
This is a quite simple script I would assume but my bash skills are non-existent.
I have a file named file_name_01.txt
and I need to generate a number N
of files identical to this one (ie: duplicates) but changing the names so the endings are in ascending order. The resulting files will be named like so:
file_name_02.txt
file_name_03.txt
...
file_name_09.txt
file_name_10.txt
...
file_name_N.txt
How can I generate such a script?
Upvotes: 1
Views: 81
Reputation: 23364
Using xargs
printf "%s\0" file_name_{02..11}.txt | xargs -0 -L 1 -I {} cp file_name_01.txt {}
Upvotes: 1
Reputation: 39414
How about:
for i in {2..20}; do cp file_name_01.txt $(printf 'file_name_%02d.txt' $i); done
Replace "20" with whatever your N value is. That command is equivalent to:
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
Upvotes: 1