본문 바로가기

OS-서버/윈도우

cmd ( && , | ) ( type , findstr )

반응형

 

type : 텍스트 파일의 내용을 보여줍니다.

 

<사용방법>

type 파일이름

 

 

 

findstr : 파일에서 문자열을 찾습니다.

 

<옵션>

/B         패턴이 행의 첫 부분에 있는지를 비교합니다.

/E         패턴이 행의 끝부분에 있는지를 비교합니다.

/L         찾는 문자열을 글자 그대로 사용합니다.

/R         찾는 문자열을 [정규식]으로 사용합니다.

/S         현재 디렉터리와 모든 하위 디렉터리에서 일치하는 파일을 찾습니다.

/I         찾을 때 대/소문자를 구별하지 않습니다.

/X         정확히 일치하는 줄만 보여줍니다.

/V         일치하는 텍스트가 없는 줄만 보여줍니다.

/N         일치하는 각 줄 앞에 줄 번호를 보여줍니다.

/M         파일에 일치하는 텍스트가 있으면 파일 이름만 보여줍니다.

/O         일치하는 각 줄 앞에 문자 오프셋을 보여줍니다.

/P         인쇄할 수 없는 텍스트가 포함된 파일은 건너뜁니다.

/OFF[LINE] 오프라인 속성 세트 파일을 건너뛰지 않습니다.

/A:속성    색 속성을 두 자리 16진수로 지정합니다. "color /?"를 참조하십시오.

/F:파일    지정된 파일에서 파일 목록을 읽습니다('/'는 콘솔에 해당됩니다).

/C:문자열  지정된 텍스트를 글자 그대로 찾는 문자열로 사용합니다.

/G:파일    지정된 파일로부터 찾는 텍스트를 받습니다('/'는 콘솔에 해당됩니다).

/D:디렉터리    디렉터리 목록을 구분하는 세미콜론(;)를 찾습니다.

 

 

<사용방법>

findstr [옵션] "문자열" 파일

 

findstr /S /N "홍길동" *.txt   

 

"홍길동"이라는 내용이 저장되어있는 모든 텍스트 파일을 

(현재 디렉터리하위 디렉터리에서) 찾습니다. (찾은 줄에는 줄번호를 부여합니다)

 


/C 옵션을 사용한 경우가 아니면

찾는 문자열을 여러 개 지정할 때 공백으로 분리하세요

 

예를 들면, findstr "hello there" .. 명령을 입력하면

파일에서 "hello""there"을 찾게 됩니다.

 

반면에 findstr /C:"hello there" .. 명령을 입력하면 

파일에서 "hello there"을 찾습니다.

 

 

 

예를들어서 

 

test.txt 파일에서 홍길동이라는 사람의 이름만 검색하려고 합니다.

 

[test.txt파일의 내용은 다음과 같습니다]


이름 : 홍길동

나이 : 30

홍길동이 하는 일 : ....

이름 : 장길산

나이 : 31

장길산이 하는 일 : ....

이름 : 오동통

나이 : 32

오동통이 하는 일 : ....





 

> type test.txt | findstr "홍길동"

 

  만약 이렇게 입력하면 어떻게 될까요?

 

  홍길동이라는 사람이 하는일까지 나와버리게 됩니다. 

 

<출력>

이름 : 홍길동

홍길동이 하는 일 : ....

 


 

type test.txt | findstr "이름 : 홍길동"

 

  위와 같이 입력하면

 test.txt 파일에서 "이름" , ":" , "홍길동" 이라는 문자열을 각각 분리해서 찾기 때문에

관련된 모든 내용들이 출력됩니다.

 

<출력>  

이름 : 홍길동

나이 : 30

홍길동이 하는 일 : ....

이름 : 장길산

나이 : 31

장길산이 하는 일 : ....

이름 : 오동통

나이 : 32

오동통이 하는 일 : ....

 


다음과 같이 찾고자 하는 문자열앞에 

/C: 명령어를 쓰면 그 문자열 자체를 찾게됩니다.

 

type test.txt | findstr /C:"이름 : 홍길동"

 

<출력>

이름 : 홍길동

 

 

 

 

&&(and) : " 앞에 명령어가 잘 실행되면 && 뒤의 명령어도 실행하라"

& : " 앞에 명령을 실행하고 뒤의 명령을 실행하라 "

 

ex:

 
echo hi my name is ... > test.txt && test.txt
cs

 

      hi my name is ...라는 문자열을 test.txt 파일에 출력한 후

      test.txt를 메모장으로 연다.

 

 

|(파이프라인) : " 앞에 명령어의 처리결과를 뒤의 명령어로 전달한다 "

|| : " 앞의 명령 실행이 실패하면 뒤의 명령을 실행하라 " 

 

ex:

 
type test.txt | findstr "abcd"
cs

 

test.txt파일에서 "abcd"라는 문자열을 찾는다.

 

certutil /| findstr ///"get"
cs

특정 명령어 메뉴얼의 내용 중 필요한 부분만 대소문자 구분없이 검색

 

bcdedit > nul || (echo 우클릭 하여 관리자 권한으로 실행하세요. & pause & exit)
cs

 bcdedit은 관리자 권한으로 실행된다. 앞의 명령이 실패할 경우 

 관리자 권한으로 실행하도록 유도하는 메시지를 띄운다.

 
 
 

 

※ & 와 | 의 공통점은 한줄의 커맨드라인에서 여러 명령을 처리하게 해 주는것이다.

 

 

 

 

 

 

 

 

 

반응형

'OS-서버 > 윈도우' 카테고리의 다른 글

공인인증서 NPKI 폴더 저장위치  (0) 2017.09.17
윈도우 캐시 메모리에 남아있는 dns 정보 삭제  (0) 2017.07.05
cmd IF - ELSE문  (0) 2017.06.23
환경변수 path 설정  (2) 2017.06.22
cmd 변수 지정 명령어 SET  (0) 2017.06.22