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