Bash의 현재 디렉토리에서 사용 가능한 여유 공간 확보 알고 df -h및 pwd있지만 정규식 일치하는 부분에

내가 알고 df -hpwd있지만 정규식 일치하는 부분에 대한 좀 복잡한 것 같습니다. 어떤 아이디어?



답변

다음 -P을 보장하는 옵션을 사용하여 출력을 조금 더 쉽게 구문 분석 할 수 있습니다 .

  1. 각 파일 시스템에 대한 정보는 항상 정확히 한 줄에 인쇄됩니다. 마운트 장치는 그 자체로 라인에 배치되지 않습니다. 즉, 마운트 장치 이름이 20자를 초과하면 (예 : 일부 네트워크 마운트의 경우) 열이 잘못 정렬됩니다.

이를 통해 사용 가능한 여유 공간을 훨씬 쉽게 얻을 수 있습니다.

$ df -Ph . | tail -1 | awk '{print $4}'

( -h메가 바이트, 기가 바이트 등을 사용합니다. 시스템에없는 경우 -k킬로바이트 만 사용하십시오.)

df경로 를 전달 하면 헤더 행과 경로가 포함 된 파일 시스템에 대한 데이터의 두 행만 반환됩니다. 꼬리를 사용하여 두 번째 줄만 잡을 수 있습니다. 우리는 이용 가능한 공간이 4 번째 열에 있다는 것을 알고 있습니다 awk. 이 모든 것이 가능합니다 awk:

$ df -Ph . | awk 'NR==2 {print $4}'

또는 다른 많은 필터 세트 .


답변

어때요 df -h .? 이것은 현재 작업 디렉토리가있는 파티션의 사용 가능한 여유 공간을 제공합니다.

작은 예 :

 /usr/local/nagios/libexec # df -h .
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/vg00-lvol1
                       9.9G  6.1G  3.4G  65% /

답변

바이트 단위 :

df --output=avail -B 1 "$PWD" | tail -n 1

인간이 읽을 수있는 내용 :

df --output=avail -h "$PWD" | tail -n 1

또는

df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --to="iec"

또는

df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --grouping