세 번째 df -h
출력 줄만 말하고 싶습니다 .
어떤 종류의 명령을 사용해야합니까?
답변
내용에 관계없이 세 번째 줄을 출력합니다.
df -h | sed -n 3p
답변
이 df
명령은 실제로 원하는 파일 시스템을 식별하는 인수를 허용합니다. 예를 들어 df /home
또는을 사용할 수 있습니다 df /dev/sda3
.
스크립트의 출력을 구문 분석하려는 경우 df -P
여러 줄로 줄 바꿈되지 않도록하는 것이 좋습니다. 예를 들어, 사용할 수 있습니다 df -Ph /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'
답변
당신은 또한 사용할 수 있습니다 perl
:
df -h | perl -ne 'print if $.==3'
은 $.
당신이 N 번째 라인을 인쇄 할 수 있도록, 현재의 행 번호입니다 perl -ne 'print if $.==N'
.
답변
내 첫 번째 아이디어는 머리 꼬리 구조입니다.
예:
df -h | head -3 | tail -1
head -3
세 줄 후에 출력이 중단 tail -1
되고 마지막 줄만 출력됩니다.
또는 출력이 어떻게 표시되는지 알고 있다면 grep
특정 문자열이 포함 된 행을 찾는 데 사용할 수도 있습니다 .