我有一个文件夹“all_images/”,其中包含 1000 多个图像文件,名为“Image1.tif”、“Image2.tif”等。
我有一个文本文件“extract_images_list.txt”,它是我想从此文件夹中提取的图像列表。
例子:
图像23.tif
图像100.tif
图像248.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 file
(-r
需要该参数才能将反斜杠视为文字反斜杠,并IFS=
使其不去除空格),然后将每一行移动到 extract_images 目录。