awk를 사용하여 df 명령 출력 구문 분석

awk를 사용하여 df 명령 출력 구문 분석

로 시작하는 모든 줄을 일치시킨 후 헤더로 인쇄하기 위해 출력의 첫 번째 줄을 어떻게 저장할 수 있습니까 /dev/nvme?

지금은 df두 번 전화하고 있는데 awk를 사용하여 한 번에 처리하고 싶습니다.

df -h | grep '^Filesystem' && df -h | grep '^/dev/nvme'

원하는 결과는 다음과 같습니다.

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  ...
/dev/nvme0n1p1 ...

답변1

다른 사람들이 지적한 바와 같이:

df -Ph | awk 'NR == 1 || $0 ~ "^/dev/nvme"'

또는 Linux를 사용하면 df명령줄에서 장치 파일을 지정할 수 있습니다.

df -x devtmpfs -Ph /dev/nvme*

이는 일치하는 장치가 마운트되지 않은 경우 파일 시스템이 표시되는 것을 -x devtmpfs방지하기 위한 것입니다 ./dev

-P옵션은 df열 중 하나가 넓어도 줄이 바뀌지 않도록 보장합니다.

두 번째 방법의 장점은 df출력에 맞게 열 간격을 적절하게 지정한다는 것입니다.

관련 정보