압축된 파일에서 일부 텍스트를 찾아야 합니다. 저는 시그윈을 사용하고 있습니다. 일부 압축 파일이 비어 있습니다. 분명히 나는 '빈 zip 파일'에 대한 '시끄러운' 정보를 전혀 갖고 싶지 않습니다. 예:
find . -iname '*.zip' -print -exec unzip -l {} \; |grep -i vbs
vbs
내가 찾고 있는 문자열은 어디에 있나요?
문제는 내가 찾고 있는 것을 반환하지만 다음과 같은 줄로 많은 노이즈를 반환한다는 것입니다.
C\ProgramData\ABC\DEF\VBScripts\OutputArchiveFiles.vbs
warning [/z/XYZ/Backup/123/456/Backup Set 1/Backup Files 1/Backup files 2.zip]: zipfile is empty
'zipfile is 비어 있음'이라는 줄을 보고 싶지 않습니다.
나는 그것을 파이프하려고 시도했지만 |grep -v 'zipfile is empty'
여전히 해당 라인도 출력합니다.
내 질문: '빈' 줄을 인쇄하지 않고 내가 찾고 있는 줄만 볼 수 있는 방법은 무엇입니까? 즉, vbs?
답변1
이러한 추가 라인은 아마도 stderr
스트림에 있을 것입니다. 당신은 그들이 있는지 확인하여 테스트할 수 있습니다별도의 파일로 리디렉션(예 command 2> error.txt
: )
기본적으로 다음을 실행합니다.
find . -iname '*.zip' -print -exec unzip -l {} \; 2> error.txt |grep -i vbs
문제가 해결되면 다음 error.txt
으로 교체할 수 있습니다 /dev/null
(일부 Cygwin 버전에서는 작동하지 않을 수 있음).