Unix:テキストファイルにリストされているディレクトリファイル名を見つけて新しいディレクトリに移動

Unix:テキストファイルにリストされているディレクトリファイル名を見つけて新しいディレクトリに移動

私は、Mac OS Xの端末で次のことを実行するのに適したコマンドを見つけるためのコマンドライン初心者です。

すべてのファイルを同じディレクトリに配置し、テキストファイルにリストされている選択されたディレクトリファイルのセットを分離して新しいディレクトリに移動したいとします。

  • .txt ファイルにリストされている選択したファイル名のリストを読みます。

  • ファイル名で一致するすべての項目を検索

  • 一致するすべてのファイルを隔離し、新しいディレクトリに移動します。

現在のディレクトリで filesring.filetype (またはその両方) を探し、一致するすべてのエントリを新しいディレクトリに移動する次のコマンドを見つけました。

find . -type f -iname "filestring.filetype" -print0 |
  xargs -0 -J % mv % ~/NewDirectory/

このコマンドが見つかりtarましたが、リストされているすべてのファイル名のアーカイブコピーを作成します。filename.txt

tar -cf - -T filename.txt | (cd /path/to/new/dir && tar -xvf -)

どんな助けでも大変感謝します!

次のソリューションは、信頼できるソースから入手できます。

cat "filename.txt" | xargs -I % mv % ~/NewDirectory/

ベストアンサー1

これを試してみてください。バッシュと一緒に使用されます。

while read file
do
    mv -v -i "$file" ~/NewDirectory/
done < listoffiles.txt

おすすめ記事