リストに基づくフォルダのサブセットファイル

リストに基づくフォルダのサブセットファイル

「Image1.tif」、「Image2.tif」などの名前を持つ1000以上の画像ファイルを含む「all_images /」フォルダがあります。

このフォルダから抽出したい画像のリスト「extract_images_list.txt」テキストファイルがあります。

例:

image23.tif

image100.tif

image248.tif

テキストファイルに記載されているファイルだけを別のフォルダ「extract_images /」に移動したいと思います。

私はただ考えることができます

  rm (Image1|Image2|Image3|...|...|....|)

私はそこに私が望んでいない画像を提供します。

もっと良い方法がありますか?

ベストアンサー1

この解決策は、ファイル名の改行などの場合を処理しないことに注意することが重要です。

mkdir extract_images 2>/dev/null
while IFS= read -r file; do
  mv "$file" extract_images
done < extract_images_list.txt

これは、extract_images_list.txtを変数として読み取り、1行ずつ繰り返してからfile-rこのパラメータはバックスラッシュをスペースを削除せずにリテラルバックスラッシュとして処理するために必要ですIFS=)、各行をextract_imagesディレクトリに移動します。

おすすめ記事