![awk 또는 sed와 같은 도구를 사용하여 파일 출력에서 정보를 추출합니다.](https://linux55.com/image/192553/awk%20%EB%98%90%EB%8A%94%20sed%EC%99%80%20%EA%B0%99%EC%9D%80%20%EB%8F%84%EA%B5%AC%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%20%EC%B6%9C%EB%A0%A5%EC%97%90%EC%84%9C%20%E2%80%8B%E2%80%8B%EC%A0%95%EB%B3%B4%EB%A5%BC%20%EC%B6%94%EC%B6%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 bash 스크립팅을 처음 접했고 현재 네트워크를 가져와 다운로드하는 스크립트를 만들려고 합니다. 필요한 정보를 추출하기 위해 awk 또는 sed와 같은 도구를 찾으려고 노력하고 있습니다.
고양이/proc/net/dev
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2245514 26732 0 0 0 0 0 0 2245514 26732 0 0 0 0 0
0
wlan0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
eth0: 501233000800 372656590 0 354 0 0 0 478724 19824791855 194196655 0 0 0 0 0 0
이것은 내 출력입니다. eth0에서 필드를 수신하고 전송해야 합니다. grep -i eth0을 사용하여 한 줄로만 수정하려고 시도했지만 그 후에는 멈췄습니다.
eth0: 501233200415 372657763 0 356 0 0 0 478834 19825031691 194197387 0 0 0 0 0 0
여기까지 왔습니다. "501233200415" 및 "478834"를 어떻게 추출합니까?
답변1
원하는 필드가 항상 두 번째 및 아홉 번째 필드인 경우(예에서와 같이) 다음을 사용할 수 있습니다.
grep -i eth0 your_file | awk '{print $2, $9}'