Unix나 Linux에서는 Find의 기능이 무척 막강한데, Windows는 조금 약해보이는 것이 사실이다. ((하하하))
하지만, 이것도 쓸 때가 있으니!!!
오늘 대략 4기가 정도되는 web log를 뒤질 일이 있는데, 열심히 이것으로 뒤지고 있다. ㅠ_ㅠ;;;
아래의 내용은 Windows의 도움말에 나와있는 내용을 그대로 옮긴 것이다.
Find
한 파일이나 여러 파일에서 텍스트의 특정 문자열을 검색합니다. 지정된 파일을 검색한 후 find는 지정된 문자열이 있는 텍스트의 모든 줄을 표시합니다.
구문
find [/v] [/c] [/n] [/i] "String" [[Drive:][Path]FileName[...]]
매개 변수
/v
지정된 String이 없는 모든 줄을 표시합니다.
/c
지정된 String이 있는 줄의 수를 계산하고 전체 줄의 수를 표시합니다.
/n
각 줄 앞에 파일의 줄 번호를 추가합니다.
/i
검색할 때 대/소문자를 구분하지 않습니다.
"String"
필수 요소입니다. 검색할 문자 그룹을 지정합니다. String은 따옴표로 묶어야 합니다(예: "String").
[Drive:][Path] FileName
지정된 문자열을 검색할 파일의 위치와 이름을 지정합니다.
/?
명령 프롬프트에 도움말을 표시합니다.
설명
-
문자열 지정
/i를 사용하지 않으면 find는 String에 지정한 것과 일치하는 문자열만 검색합니다. 예를 들어 Find 명령은 "a"와 "A"를 다른 문자로 취급하지만 /i를 사용하면 find는 대/소문자를 구분하지 않고 "a"와 "A"를 같은 문자로 취급합니다.
검색할 문자열에 따옴표가 있으면 문자열 내에 포함된 각 따옴표에 대해 따옴표 두 개를 사용해야 합니다("StringContaining""QuotationMarks").
-
Find를 필터로 사용
파일 이름을 생략하면 find는 필터처럼 동작하여 일반적으로 키보드, 파이프 또는 리디렉션된 파일과 같은 표준 입력 원본에서 입력을 받아 String을 포함하는 모든 줄을 표시합니다.
-
명령 구문 순서
Find 명령의 매개 변수와 명령줄 옵션은 순서에 관계없이 입력할 수 있습니다.
-
와일드카드 사용
Find 명령으로 지정하는 파일 이름과 확장명에는 와일드카드 문자(* 및 ?)를 사용할 수 없습니다. 와일드카드 문자로 지정한 여러 파일에서 문자열을 검색하려면 for 명령과 함께 find 명령을 사용할 수 있습니다.
-
/c와 함께 /v 또는 /n 사용
/c와 /v를 같은 명령줄에 사용하면 find는 지정된 문자열이 없는 줄의 수를 표시합니다. 같은 명령줄에 /c와 /n을 지정하면 find는 /n을 무시합니다.
-
캐리지 리턴과 함께 find 사용
Find 명령은 캐리지 리턴을 인식하지 못합니다. find를 사용하여 캐리지 리턴이 포함된 파일의 텍스트를 검색하려면 캐리지 리턴 사이에서 찾을 수 있는 텍스트(캐리지 리턴에 의해 중단되지 않는 문자열)로 검색 문자열을 제한해야 합니다. 예를 들어 find는 "tax"와 "file" 사이에 항상 캐리지 리턴이 나오면 "tax file" 문자열과 일치하는 내용을 찾지 못합니다.
예
Pencil.ad 파일에서 "Pencil Sharpener"라는 문자열이 있는 줄을 모두 표시하려면 다음과 같이 입력합니다.
find "Pencil Sharpener" pencil.ad
따옴표가 붙은 텍스트를 포함하는 문자열을 찾으려면 먼저 전체 문자열을 따옴표 안에 넣어야 합니다. 그런 다음 문자열 내에 포함된 각 따옴표에 두 개의 따옴표를 추가해야 합니다. Report.doc에서 "The scientists labeled their paper "for discussion only." It is not a final report."를 찾으려면 다음과 같이 입력합니다.
find "The scientists labeled their paper ""for discussion only."" It is not a final report." report.doc
여러 파일을 검색하려면 for 명령과 함께 find 명령을 사용합니다. 현재 디렉터리에서 확장명이 .bat이고 "PROMPT"라는 문자열이 포함된 파일을 검색하려면 다음과 같이 입력합니다.
for %f in (*.bat) do find "PROMPT" %f
하드 디스크에서 "CPU"라는 문자열이 포함된, 드라이브 C에 있는 파일 이름을 찾아 표시하려면 다음과 같이 파이프(|)를 사용하여 dir 명령의 결과를 find로 보냅니다.
dir c:\ /s /b | find "CPU"
Find 검색은 대/소문자를 구분하고 dir은 대문자를 출력하기 때문에 대문자로 "CPU"를 입력하거나 find에 /i 명령줄 옵션을 사용해야 합니다.


