폴더에서 사진을 제거

폴더에서 사진을 제거

폴더에서 모든 사진을 제거하고 나머지 파일은 유지하고 싶습니다. 웹에서 검색한 결과 다음과 같은 수많은 솔루션을 찾았습니다.

find . -type f -name "*.jpg" -delete

모든 사진은 jpeg입니다. 하지만 가장 큰 문제는 사진 이름이 확장자 ".jpg"로 끝나지 않는다는 것입니다.

누구든지 나를 도와줄 수 있나요?

답변1

이건 해야 해

for i in *; do 
    TESTRESULT=$(file --mime-type -b "$i"); 
    if [ "$TESTRESULT" == "image/jpeg" ]; then 
        echo "$i"; 
    fi;
done

원하는 파일이 인쇄되면 echo "$i"다음으로 바꾸십시오.rm "$i"

답변2

좋습니다. 해결책을 찾았습니다.

이 명령을 시도해 보세요

find . -name "*.jpg" -delete

나는 Xubuntu 14.04에서 이것을 시도했고 잘 작동했습니다. 이게 도움이 되길 바란다!

나는 이것이 당신의 예와 비슷하다는 것을 알고 있지만 당신이 준 예는 나에게 적합하지 않았습니다. 그러나 이것은 더 간단한 하나의 라이너입니다.

답변3

다음은 모든 이미지를 제거하는 스크립트입니다.

userX@ubuntu:~$ cat removeImages.sh 
#!/bin/bash
path=/home/userX/Downloads/*;
for file in $path
do
  fileInfo=`file "$file" |awk -F: '{print $2}'`
  if [[ $fileInfo =~ .*image.* ]]; then echo "Removing: " $file; rm $file; fi
done

파일 출력의 두 번째 부분을 사용 file "$file"하고 그 안에서 키워드를 찾은 image다음 루프에서 현재 파일을 제거합니다.

비트맵도 제거하려면 다음을 수행하십시오.

userX@ubuntu:~$ cat removeImages.sh 
#!/bin/bash
path=/home/userX/Downloads/*;
for file in $path
do
  fileInfo=`file "$file" |awk -F: '{print $2}'`
  if [[ $fileInfo =~ .*image.*]] || [[$fileInfo =~ .*bitmap.* ]]; 
  then echo "Removing: " $file; rm $file; fi
done

관련 정보