1つのファイルをLinuxの多くのファイルにコピーするコマンド/スクリプトは1行ありますか?1つのファイルを複数のファイルにコピーするLinuxコマンド
cp file1 file2 file3
は、最初の2つのファイルを3番目のファイルにコピーします。最初のファイルを残りの部分にコピーする方法はありますか?
1つのファイルをLinuxの多くのファイルにコピーするコマンド/スクリプトは1行ありますか?1つのファイルを複数のファイルにコピーするLinuxコマンド
cp file1 file2 file3
は、最初の2つのファイルを3番目のファイルにコピーします。最初のファイルを残りの部分にコピーする方法はありますか?
は、 "1行のコマンド/スクリプト" として
cp file1 file2 ; cp file1 file3
、カウントしていますか?方法について
for file in file2 file3 ; do cp file1 "$file" ; done
?
または、「コピー」の少し緩い感覚のために:
tee <file1 file2 file3 >/dev/null
私は考えることができる最も簡単/最速のソリューションは、forループです:
for target in file2 file3 do; cp file1 "$target"; done
汚いハックは以下のようになり(私は強くそれに反対し、とにかくbashでのみ動作します):
eval 'cp file1 '{file2,file3}';'
標準のスクリプトコマンドを使用できます代わりにそのための:
バッシュ:
for i in file2 file3 ; do cp file1 $i ; done
for FILE in "file2" "file3"; do cp file1 $FILE; done
あなたはshift
を使用することができます。
file=$1
shift
for dest in "[email protected]" ; do
cp -r $file $dest
done
' shift'の効果は何ですか? –
使用して、次のようなものを。 zshで動作します。
猫ファイル> firstCopy> secondCopy> thirdCopy
又は
猫ファイル> {1..100} - 番号を持つファイル名の。
小さなファイルには適しています。
大きなファイルの場合は、前述のcpスクリプトを使用する必要があります。ちょうど楽しみのため
シェルが 'zsh'と仮定して –
//、これはBashで動作しませんでした。 –
ファイルのサイズが重要なのはなぜですか? RAMサイズによって制限されていますか? –
、あなたがファイルの大きなリストが必要な場合:
tee <sourcefile.jpg targetfiles{01-50}.jpg >/dev/null
からKelvin Feb 12 at 19:52
しかし、ほとんどのタイプミスがあります。次のようになります。
tee <sourcefile.jpg targetfiles{01..50}.jpg >/dev/null
そして、前述したように、権限をコピーしないこと。
「ティー」 – knittl
「tee file2 file3」 –
jfs
@JFSebastian:ええ、OPは明らかにこれが2つ以上の宛先ファイルで機能することを望んでいるので、私はサポートを強調するフォームを使いましたそれ。多分、私は 'tee file2 file3 file4'を書いて、2ファイルの並列処理を省くべきでしょうか? –
ruakh