다른 도메인에 파일이 있습니다. 명령(예: grep)을 사용하는 가장 좋은 방법은 무엇입니까?
wget http://path/to/file.txt | grep search
그러나 이것은 작동하지 않습니다. 이걸 써도 될 것 같은데, curl
좀 더 효율적인 방법이 없을까요?
답변1
파이프가 제대로 작동하려면 첫 번째 명령을 작성해야 합니다.표준 출력. wget
이는 일반적으로 수행되지 않지만 요청하는 방법이 있습니다. wget(1) 매뉴얼 페이지에서:
-O file
--output-document=file
document는 해당 파일에 쓰지 않고, 모든 문서를 합쳐서 파일에 쓴다. -를 파일로 사용하면 문서가 표준 출력으로 인쇄됩니다.
그러니 이렇게 해라
wget -O - http://what/ever | grep something
wget
이 컨텍스트에서 진행 보고서 출력이 매우 장황하다는 것을 알 수 있습니다 . 이 경우 -q
조용히 하는 옵션을 추가하세요.
wget -q -O - http://what/ever | grep something
그러면 일치하는 줄을 제외하고는 아무것도 출력되지 않습니다.
답변2
curl
를 사용하여 이 작업을 수행할 수도 있습니다 wget
.
$ curl -s <url> | grep <pattern>
예
$ curl -s http://textfiles.com/100/914bbs.txt | grep Colorama
965-7600 /Colorama / CoCo / 300/1200 /General BBS
스위치 세부정보
-s, --silent
Silent or quiet mode. Don't show progress meter or error
messages. Makes Curl mute. It will still output the data you ask
for, potentially even to the terminal/stdout unless you redirect it.