세 번째 df -h
출력 줄만 말하고 싶습니다 .
어떤 종류의 명령을 사용해야합니까?
세 번째 df -h
출력 줄만 말하고 싶습니다 .
어떤 종류의 명령을 사용해야합니까?
답변:
이 df
명령은 실제로 원하는 파일 시스템을 식별하는 인수를 허용합니다. 예를 들어 df /home
또는을 사용할 수 있습니다 df /dev/sda3
.
스크립트의 출력을 구문 분석하려는 경우 df -P
여러 줄로 줄 바꿈되지 않도록하는 것이 좋습니다. 예를 들어, 사용할 수 있습니다 df -Ph /home | tail -n +2
(그러나 스크립트의 출력을 구문 분석하는 경우 파일 이름에 공백이있는 가능성을 알고 있어야 함)
df /home
에 헤더를 제공하고 싶다고 말했다 . 사용자의 목적을 해석하고 있습니다. 당신이 옳을 수도 있습니다. 당신은 틀렸을 지 누가 알 겠어요?
tail -n +2
헤더를 제거합니다.
head
및 의 조합을 사용할 수 있습니다 tail
.
df -h | head -3 | tail -1
또는
df -h | tail -n +3 | head -1
그러나 자체 df
옵션에서 출력을 필터링 할 수 있으므로 df
외부 명령을 사용하기 전에 먼저 출력을 살펴보십시오.
확인하십시오 man df
.
Awk는 텍스트 처리 도구이므로이 작업에 적합합니다.
df -h | awk 'NR == 3'
필자는 반드시 세 번째 줄을 찾는 것이 아니라 특정 디스크 (예 :) /dev/sda3
또는 특정 마운트 지점 (예 :)을 언급하는 줄을 찾는다고 가정합니다 /home
.
따라서 출력 순서가 변경되어 다른 결과를 얻을 수 있기 때문에 안전하지 않은 세 번째 행만 표시하는 대신 컨텐츠로 출력을 필터링하고 특정 패턴과 일치하거나 키워드를 포함하는 행만 표시 할 수 있습니다.
이 도구는 grep
입니다.
예를 들어 device /dev/sda3
에 대한 줄을 원하면 다음 을 입력하십시오.
df -h | grep '/dev/sda3'
홈 디렉토리를 마운트 지점으로 언급하는 행을 원하면 다음을 사용하십시오.
df -h | grep '/home'
df -h /dev/sda3
또는 df -h /home
(후자는 마운트 지점이 아니더라도 작동합니다).
당신은 또한 사용할 수 있습니다 perl
:
df -h | perl -ne 'print if $.==3'
은 $.
당신이 N 번째 라인을 인쇄 할 수 있도록, 현재의 행 번호입니다 perl -ne 'print if $.==N'
.