lsof에서 "사람이 읽을 수 있는" 크기를 표시하는 방법 | grep /var*

lsof에서 "사람이 읽을 수 있는" 크기를 표시하는 방법 | grep /var*

현재 /var를 사용하여 마운트된 모든 파일을 보려고 합니다.

lsof | grep /var*크기를 바이트 단위로 표시하는 경우 . 파일 크기를 MB 단위로 표시하는 방법.

감사해요.

답변1

GNU Coreutils 버전 8.21(2013년 12월 출시)부터 numfmt(=숫자 형식)이라는 새로운 표준 절차가 있습니다. 그것은 당신이 원하는 것을 정확하게 할 것입니다.

예:

lsof | grep /var*  | numfmt --field=8 --to=iec | head

이 매개변수는 (1K=1024B) 또는 (1K=1000)을 --to허용합니다 . 여기에는 몇 가지 다른 옵션이 있습니다. 자세한 내용은 다음과 같습니다. iecsihttp://www.gnu.org/s/coreutils/numfmt.

(면책 조항: 초기 구현을 작성했습니다 numfmt.)

답변2

이 시도:

| awk '{$7=$7/1048576 "MB"; print}'

또는 더 짧게:

| awk '{$7=$7/1048576 "MB"}1'

답변3

awk를 사용하여 바이트를 MB로 변환할 수 있습니다.

이와 같은 것은 크기를 MB 단위로 표시해야 합니다.

lsof | grep /var* | awk '{for(i=1;i<=6;i++){printf "%s ", $i}; print $7/1048576 "MB" " "$8" "$9 }'

7번째 필드까지 모든 필드를 인쇄한 다음 1048576으로 나누어 크기(MB)를 얻은 다음 나머지 두 필드를 표시합니다.

관련 정보