2017-12-12 8 views
1

拡張子が.txtのすべてのファイルを新しいフォルダにコピーしようとしていますが、これを1つのコマンドで行う方法がわかりません。複数のファイルをシェルで移動またはコピーするLinux

CP FILE1 FILE2 FILE3 /フォルダ

が、私は結末がすべてのために同じであるので、もっと良い方法があると思います。今、私はちょうど入力するのですか?また、.txtファイルのグループをコピーして名前に追加する方法もあります。たとえば、すべてのファイルに.backupを追加したいが、それらを同じディレクトリに置いておきたい場合は? file.txtををコピーしてfile.txt.backup名前に変更されるだろう。例えば

(同じ.txt拡張子の複数のファイルのために働くだろう)

+0

CP新しいフォルダに.txtの拡張子を持つすべてのファイルをコピーするには* TXT /フォルダ – Rob

+0

、コマンドCPを使用し、 'CP -r * .TXT/new_folder_path' –

+0

と同じディレクトリにそれらのバックアップを作成するにはmv 'mv * .txt * .txt.bk' –

答えて

4

cp *.txt /dest/dir/は?

そして、あなたはまた、次のようになりますループ行うことができます.backup追加するため:限り、各ファイルの名前を変更すると、ほとんどのディストリビューションは、ちょうどそのために作られたrenameコマンドを持って

for i in *.txt 
do 
    cp "$i" "/dest/dir/$i.backup" 
done 
+0

@Alfe二重引用符は本当に必要ですか?それは私には見えませんでした。 – vmonteco

+3

はい、名前にスペースが含まれているファイルの場合。しばしば忘れられた。これを試してください: 'date> 'a b.txt'; * .txtのiのために。 do cp $ i ./wherever/;完了しました。これは、 'a b.txt'の代わりに' a'という名前のファイルをコピーしようとすると、エラーが発生します。 – Alfe

+0

@Alfeああ!確かに、私の悪い。編集してくれてありがとう、今は本当に関連性があると思う。 – vmonteco

1

を。まだインストールされていない場合は、パッケージマネージャーから入手できます。

私はそれがディストロの間で異なって動作するのを見ました。フレーバーの仕組みについてはman renameをご覧ください。

関連する問題