特定のファイルのNコピーを作成する簡単な方法は何ですか?

特定のファイルのNコピーを作成する簡単な方法は何ですか?

Nたとえば、コピーを作成してa.txt番号を付けるにはa1.txta2.txtなどa3.txt...

どうすればこのようなことを簡潔にすることができますか?

答え1

cpそれ自体は一度に1つのコピー(単一ファイル)のみを作成しますが、高速ループを使用するとそれほど難しくありません。

for i in {1..10}; do cp a.txt a$i.txt; done

答え2

bash変数にN個の値があるとします。

for i in `seq 1 $N`; do cp a.txt a$i.txt; done

または

for ((i=1;i<=$N;i++)); do cp a.txt a$i.txt; done

または、Kevinの答えに示されているループを使用してください。

答え3

使用されるソリューションは、コピーを作成するためにcpファイルを同時に読み取る必要がないため、やや非効率的です。利用可能:NNtee

cat a.txt | ( for i in `seq 1 $N`; do echo a"$i".txt; done | xargs tee )

答え4

もっとファンキーなものが必要な場合は、次のようにできます for t in $(seq --format="funky-%03.0f-numbered.txt" 25 3 40); do cp orig $t; done

関連情報