Unixでファイルを一括コピー/移動する方法はありますか?これはオプションかもしれないと思いますcp/mv
が、そうする方法を見つけることができません。
ベストアンサー1
cp
mv
ファイルをコピーしてファイルを移動するのに最適なツールです。 )またはなどのシェル構造とfor file in *; do ...; done
組み合わせると、find
はるかに強力になります。
あなたの目的を正しく理解したら、次のファイルを抽出しました。
somedir/file.png
somedir/file.txt
次のように、すべてのファイルを親ディレクトリに移動しようとします。
file.png
file.txt
ディレクトリにあると仮定してシェルワイルドカードを使用すると、次のことがsomedir
できます。
mv * ../
*
現在のディレクトリ内のすべてのファイルに展開されるグローバルパターン。隠しファイル(.
ファイル名の前に名前が付いたファイルとディレクトリ)がある場合は、shopt -s dotglob
in bash
)を使用してください。
私はfind
これを前に述べたことがある。次のファイルツリーがある場合:
somedir/000.txt
somedir/a/001.txt
somedir/a/004.txt
somedir/b/003.txt
somedir/b/002.txt
somedir/whatever/somethingunique.txt
ディレクトリ内のすべてのファイルを移動するには、次のようにseconddir
します。
find -exec mv {} seconddir/ \;
これは、すべてのファイル名が一意であると仮定します。それ以外の場合はファイルが上書きされます。