"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를 변수로 읽어 한 줄씩 반복한 다음 file
( -r
이 매개변수는 백슬래시를 공백을 제거하지 않고 리터럴 백슬래시로 처리하는 데 필요함 IFS=
) 그런 다음 각 줄을 extract_images 디렉터리로 이동합니다.