この質問は、以前の質問「を使用して多数のディレクトリを作成する」の続きmkdir
です。
bash
シェルを使用しています。次のコマンドを使用して、それぞれが接頭辞「s」で始まる50個のディレクトリを作成しました。
mkdir $(printf "s%02i " $(seq 1 50))
2番目の桁にゼロが埋め込まれます。つまり、私が取得ディレクトリの形式はs01
、s02
、...、 、。s49
s50
ここで、50個のディレクトリのそれぞれにcp
単一のファイル(たとえば、test.txt
)をコピーするために使用したいと思います。上記と同様の方法でこれを行うことは可能ですか?たとえば、次のように動作しますか?私はUnix / Linuxに比較的慣れていないので、誰かが私にそれが安全であるという指示を与えてくれるまで、私は本当にこれを試してみたいとは思いません。
cp test.txt $(printf "s%02i.txt" $(seq 1 50))
のman
ページを見ると、次のcp
ようなcp
複数の宛先をサポートしているようには見えませんが、
NAME
cp - copy files and directories
SYNOPSIS
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options
too.
parallel -j1
そうしないと、コアごとに1つのジョブが存在し、マルチコアマシンではジョブがIOを競います。