일부 패턴을 기반으로 파일을 찾기 위해 'find' 및 'grep' cygwin 명령을 사용하고 있습니다. 나는 이것을하고 있습니다 :
find . -iname '*.zip' -print -exec unzip -l {} \; 2> error.txt |grep -i vbs
잘 작동하며 파일 이름에 'vbs'가 포함된 파일 이름이 있습니다. 하지만 이제 비슷한 작업을 수행해야 하지만 내용을 기반으로 파일 이름을 찾아야 합니다. 예를 들어 'vbs'는 파일 이름의 일부가 아니라 파일 내용의 일부입니다. 어떻게 수정될 수 있나요? 어쩌면 다음과 같을 수도 있습니다.
찾다 . -iname '*.zip' -print -exec unzip -l {} \; 2> 오류.txt | xargs ??? 누군가 조언을 해주실 수 있나요? 감사해요
답변1
파일 내용을 grep할 것이므로 -l
zip 파일을 나열하는 것만으로는 충분하지 않습니다. 실제로 압축을 풀어야 합니다. 그래서:
temp=`mktemp -d`
find . -iname '*.zip' -print -exec unzip -d $temp {} \; 2> error.txt
grep -ir vbs $temp