초보자 grep 질문… 출력이 두 배로 증가


1

나는 bash 스크립팅을 가르치고 있었고 특정 하드웨어 정보로 txt 파일을 만드는 스크립트를 작성하고 싶었다. 'grep'은 / proc 및 기타 장소에서 원하는 정보를 가져 오는 데 유용한 도구라고 생각했습니다.

내 문제는 출력이 두 배가된다는 것입니다. 내가 무엇을 잘못하고 있지?

$ grep "Mhz" /proc/cpuinfo
cpu MHz     : 1200.000
cpu MHz     : 1200.000

$ cat /proc/cpuinfo | grep "MHz"
cpu MHz     : 1200.000
cpu MHz     : 1200.000

.... 위의 명령이 내 txt 파일로 리디렉션되지 않는다는 것을 알고 있습니다. 리디렉션하기 전에 원하는 것을 출력하는 명령을 얻으려고합니다.

답변:


4

2 개의 CPU 또는 2 개 이상의 코어 또는 2 개 이상의 스레드가 있습니다. 우분투는이 두 가지로 구분 프로세서를보고 /proc/cpuinfo그것을 반영한다.

인위적으로 첫 번째 일치 항목 만 가져 오도록 제한 할 수 있습니다.

$ grep -m1 "[MG]Hz" /proc/cpuinfo
model name  : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz

귀하의 질문의 두 번째 부분을 이해하지 못합니다. 당신이 표시하려는 경우 파일에 쓰기 사용 tee:

$ grep -m1 "[MG]Hz" /proc/cpuinfo | tee testfile
model name  : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz

$ cat testfile 
model name  : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz

파일에 파일을 쓰려면로 리디렉션하십시오 >. Grep 출력은 STDOUT과 일치하므로 올바르게 리디렉션됩니다.


도와 주셔서 감사합니다. 나는 내가 원하는 방식으로 작동한다고 생각합니다.
존 프랜시스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.