Mac端末 - ファイルの移動

Mac端末 - ファイルの移動

Macターミナルコマンドを使用してファイルを新しい場所に移動しようとしています。

テキストファイルにフルパスを含むほぼ2000のファイル名のリストがあります。 (これらのファイルはすべて1つの親ディレクトリにありますが、複数の子ディレクトリに分散されています。)このファイルを親ディレクトリの外部にある単一のフォルダに移動したいと思います。

どうすればいいですか?次のタスクを実行するには、コマンドが必要です。

mv 'files listed in abc.txt' to destination

よろしくお願いします。

答え1

テキストファイルをインクルードファイルとして使用してtarファイルを作成し、新しい場所にファイルを解凍するなどの操作を実行できます。

あるいは、このような1つのライナーが機能する可能性があります。

while read -r i; do mv "$i" "/new/path/$i" ; done < abc.txt

答え2

以下は、一時ファイルを最初に作成する必要はなく、可能なすべてのファイル名に対して機能する例です。

for f in /parentdirectory/*; do
    if grep -q 'keyword' "$f"; then
        mv "$f" /someotherdir
    fi
done

答え3

各行にファイルパスを含むリストを使用してDebianでテストしました。

  cat list.txt | xargs mv -R -t copy_to_this_directory

関連情報