※MACターミナル(BSD系)での動作確認です。

スポンサーリンク

seqコマンドをforループさせて連番の番号を作成

seqコマンドをforループさせて連番の番号を作成します。そして、cpコマンドでコピーする際に、プレフィックスとサフィックスに作成した連番の番号を付与します。

seqコマンドについては、下記の記事を書いています。
seqコマンドで、0埋めして桁数を揃える

連番でプレフィックスを付与してファイルをコピー

下記がプレフィックスを連番で付与してコピーするサンプルコードになります。

 $ cat sample1.sh 
#!/bin/sh

for prefix in $(seq -w 10)
do
	cp tmp.txt ${prefix}_tmp.txt 
done

下記が実行結果になります。
 $ ls
sample1.sh	sample2.sh	tmp.txt
 $ ./sample1.sh 
 $ ls
01_tmp.txt	03_tmp.txt	05_tmp.txt	07_tmp.txt	09_tmp.txt	sample1.sh	tmp.txt
02_tmp.txt	04_tmp.txt	06_tmp.txt	08_tmp.txt	10_tmp.txt	sample2.sh

スポンサーリンク

連番でサフィックスを付与してファイルをコピー

下記がサフィックスを付与するサンプルコードになります。

 $ cat sample2.sh 
#!/bin/sh

for suffix in $(seq -w 10)
do
	cp tmp.txt tmp_${suffix}.txt 
done

下記が実行結果になります。
 $ ls
sample1.sh	sample2.sh	tmp.txt
 $ ./sample2.sh 
 $ ls
sample1.sh	tmp.txt		tmp_02.txt	tmp_04.txt	tmp_06.txt	tmp_08.txt	tmp_10.txt
sample2.sh	tmp_01.txt	tmp_03.txt	tmp_05.txt	tmp_07.txt	tmp_09.txt

スポンサーリンク