「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ディレクトリに移動します。