2014-10-17 1 views
3

저는 초보자이며 grep에 대해 배우므로 여기에 제 질문이갑니다. 리눅스를 사용하여, 내가 지정한 것을 보여줄 뿐인 파일에서 행을 뭉툭하게하고 싶다. 예를 들어 일부 열은 초 단위의 지속 시간을 표시하며 초가 50 초를 초과하는 행만 표시하려고합니다. 나는 컷/정렬/유니크/정렬을 사용하여 얼마나 많은 행을 알아낼 수 있지만 동시에 전체 정보 행을 갖는 것만 큼 유용하지는 않습니다. 여기에 단지 예가 있습니다. 나는 단지 13.9 초보다 큰 시간을 가지고 행을 잡고 싶다.grep out 행의 값이 특정 열에서 50을 초과합니다.

64 bytes from hugs05s22-in-f8.1e100.net (100.100.239.204): icmp_seq=1 ttl=55 time=13.9 ms 
64 bytes from hugs05s22-in-f8.1e100.net (100.100.239.204): icmp_seq=2 ttl=55 time=13.2 ms 
64 bytes from hugs05s22-in-f8.1e100.net (100.100.239.204): icmp_seq=3 ttl=55 time=13.9 ms 
64 bytes from hugs05s22-in-f8.1e100.net (100.100.239.204): icmp_seq=4 ttl=55 time=18.3 ms 
64 bytes from hugs05s22-in-f8.1e100.net (100.100.239.204): icmp_seq=5 ttl=55 time=14.3 ms 
64 bytes from hugs05s22-in-f8.1e100.net (100.100.239.204): icmp_seq=6 ttl=55 time=17.7 ms 
64 bytes from hugs05s22-in-f8.1e100.net (100.100.239.204): icmp_seq=7 ttl=55 time=13.4 ms 

I 18.3/14.3/17.7으로 전체 행을 당길 수있을 것은 (열 부분이 아니었던 = 그 시간을 말할 수 (또는 그것의 지옥에 대한)뿐만 아니라이었다). awk, sed 또는 grep의 도움은 대단히 감사하겠습니다.

답변

5

정규식은 숫자 비교에 적합하지 않습니다 (실제로 할 수는 있지만 번거로울 수 있음). awk을 사용하면 산술 연산자가 사용됩니다.

awk -F'[ =]' '$11 > 50' 
+0

Barmar. 누군가 grep을 사용하여 나를 보여 줬지만 그것을 적어서 배울 기회가 없었습니다. 미적분이 어떻게 가르쳐 졌는지와 마찬가지로, 선생님은 그들이 당신이 얼마나 쉽게 더 쉬울지를 보여줄 때까지 어려운 것을 가르쳐줍니다. grep 방식을 사용하면 훌륭한 대답 외에도 더 많은 학습 경험이 될 것입니다. – hobotheclown

관련 문제