내 이미지 폴더에는 이미지만 필요하므로 이 명령을 사용하여 모든 비디오 파일 "intruder"를 찾습니다(Stackexchange 어딘가에 있음).
find folder/imageonly -type f -exec file -N -i -- {} + |sed -n 's!: video/[^:]*$!!p'
하지만 역검색을 하고 싶다면 어떻게 해야 할까요? 예를 들어, 비디오 폴더에서 비디오가 아닌 파일을 모두 찾고 싶습니까?
ps=i는 확장자를 사용하지 않으므로 "file -N -i.." 플래그를 사용해야 합니다.
답변1
저는 sed 대신 grep을 사용합니다(주로 sed에 대한 경험이 없기 때문입니다). 하지만 다음은 작동해야 합니다(내 시스템에서도 작동합니다).
find . -type f -exec file -N -i -- {} + | grep -v 'video/' | cut -d : -f 1
이것은 예상되지 않습니다:하지만 파일 이름에는 .
답변2
다음 주소 범위를 추가하세요 sed
.
find folder/imageonly -type f -exec file -N -i -- {} + |
sed -n '/: video\/[^:]*$/!s!: [[:alnum:]]*/[^:]*$!!p'
/: video\/[^:]*$/!
비디오를 일치시키는 데 사용된 패턴과 일치하지 않는 모든 줄에서 명령을 실행하도록 지시합니다.