다음과 같은 약 1000개의 항목이 포함된 파일이 있습니다.
...
U9FzgsF2T-s
...
기본적으로 YouTube 동영상 ID입니다. 그런 다음 다음 이름을 가진 비디오로 가득 찬 폴더가 있습니다.
007 - James Bond - Theme-U9FzgsF2T-s.opus
이제 텍스트 파일의 항목과 부분적으로 일치하지 않는 폴더의 모든 파일을 삭제하고 싶습니다(물론 삭제할 수 없는 텍스트 파일 제외).
이를 수행하는 우아한 방법이 있습니까? 모든 파일을 반복하여 나열되어 있는지 확인할 수 있지만 항목이 1000개 이상 증가하면 특히 스크립트가 몇 분마다 실행되기 때문에 시간이 많이 걸릴 것입니다. 그렇다면 어떻게 하면 효율적으로 이를 수행할 수 있을까요? 기본적으로 폴더의 항목과 부분적으로 일치하지 않는 모든 파일을 삭제하시겠습니까?
답변1
어쩌면 grep -v
id-list의 문자열에 대한 파일 목록일 수도 있습니다. 그것은 다음과 같습니다:
printf '%s\0' * | grep -zvF -e ID-LIST -f ID-LIST | xargs -0 echo
- 파일을 삭제하려면
echo
다음으로 바꾸세요 .rm