findstr DOS 명령의 다중 문자열 인수


21
findstr /v "black"  File1.txt

위의 DOS 명령은 문자열 "black"과 일치하지 않는 'File1.txt'의 내용을 표시합니다.

단어 "black"및 "white"를 필터링해야하는 경우이 명령을 수정하는 방법은 무엇입니까?


2
findstr도구는 MS-DOS의 일부가 아닙니다. Windows (XP +?)와 함께 제공됩니다. DOS 명령 대신 '명령 줄 도구'를 의미한다고 생각합니다.
Michel de Ruiter

답변:


30

"검은 색"및 "흰색"이라는 단어를 어떻게 필터링합니까?

다음 명령은 "black" NOR가 포함 된 모든 행을 표시합니다 "white".

findstr /v "black white" blackwhite.txt

다음 명령은 "black" OR을 포함하는 모든 행을 표시합니다 "white".

findstr "black white" blackwhite.txt

다음 명령은 EXACTLY "black white "를 포함하는 모든 행을 표시합니다 .

findstr /c:"black white" blackwhite.txt

다음 명령은 "black" AND를 포함하는 모든 행을 표시합니다 "white".

findstr "white" blackwhite.txt | findstr "black"

노트:

  • 검색 문자열에 공백으로 구분 된 여러 단어 findstr가 포함 된 경우 단어 (OR)가 포함 된 행을 반환합니다.

  • 리터럴 검색 ( /C:string)은이 동작을 되돌리고구나 문장을 검색 할 수 있습니다. 리터럴 검색을 통해 문장 부호 문자를 검색 할 수도 있습니다.

데이터 파일 예 (blackwhite.txt) :

red
black
white
blue
black white
black and white

출력 예 :

F:\test>findstr /v "black white" blackwhite.txt

red
blue

F:\test>findstr "black white" blackwhite.txt
black
white
black white
black and white

F:\test>findstr /c:"black white" blackwhite.txt
black white

F:\test>findstr "white" blackwhite.txt | findstr "black"
black white
black and white

추가 자료


1
매우 흥미로운 .. 나는 이것이 흰색과 검은 색을 검색하는 것 같아요findstr "white" File2.txt | findstr "black"
barlop

음, NOR가 있기 때문에 여전히 누락 된 것으로 간주 할 수있는 순열이 있습니다. 낸드. 우리가 누락 된 것으로 생각할 수있는 또 하나는 XOR입니다.
barlop

@barlop 나는 NAND 또는 XOR을 수행하는 방법을 알 수 없습니다 : / 출력 무엇인지 알아야 하지만 거기에 도착하는 방법을 알고 있습니다 ...
DavidPostill

어쩌면 빠른 방법이 없을 수도 있습니다. 아마도 다른 도구를 사용하는 것이 더 나은 grep 할 수없는 것처럼 보이는 오류 파일을 검사하는 배치 파일 일 것입니다. 그러나 awk는 꽤나 약간이나 perl unix.stackexchange.com/questions/177513/…을
barlop


0

"black"또는 "white"라는 단어가있는 모든 행을 표시해야하는 경우 명령에서 / v를 제거하십시오.

trystr 화이트 File1.txt 또는 findstr 블랙 File1.txt 또는 findstr "블랙 화이트"File1.txt

/ V 피연산자는 검색 문자열을 포함하지 않는 모든 행을 인쇄합니다.

findstr /?를 입력하십시오. findstr을 사용하는 방법에 대한 자세한 내용은.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.