du -h
때로는 사람이 읽을 수 있는 옵션이 더 많았으면 좋겠어요.세분화된여전히 사람이 읽을 수 있습니다.
표시하는 대신:
14G
다음과 같은 내용이 표시됩니다.
14G 236M 788k 110b
이를 달성하는 간단하고 간단한/표준 방법이 있습니까?
답변1
음, 있는 것 같군요아니요이 작업을 수행하는 간단하고/간단하며/표준적인 방법입니다.
대체 옵션은 다음과 같습니다(크레딧높은의,양탄자의,저우 웨이쥔'모래박사 학위댓글:):
bash/awk/python/에 전용 소형 변환기 유틸리티 작성등.하도록 하다:
$ echo "789456" | utility 770K 976o
그런 다음
du
파이프를 통한 출력으로 변환됩니다. 당신은 영감을 얻을 수 있습니다관련된 질문. 잘 실행된다면 다음과 같이 파이프로 연결된 모든 명령의 출력을 구문 분석할 수도 있습니다.$ du -s | utility $ ls -la | utility
컴퓨터에 영구적으로 별칭을 추가할 수도 있습니다.
duH() du -s $@ | utility
- 이점:원하는 언어로 쉽게 작성할 수 있습니다.
- 결점:모든 명령 옵션(
du -s
,du -hc
,du --si
)에 적응하는 데 어려움이 있습니다. 모든 명령 출력(ls -lah
,rsync
)을 구문 분석하여 바이트를 나타내는 숫자 문자열을 찾고 레이아웃을 손상시키지 않고 변환해야 합니다.
입력하다
coreutils
소스 코드를 작성하고 필요에 맞는 새로운 관련 옵션을 추가하세요. 당신은 한 번 살펴보고 싶을 수도 있습니다./lib/human.c
. 그런 다음 수정 하면./configure
문제 가 되므로 이제 이 옵션이 컴퓨터에 구현됩니다.make
make install
du
- 이점:매우 간단하고 빠르며 통합되어 있습니다. 향후 표준 패치로 제공될 수 있나요
du
? - 결점:
C
기존 코드를 먼저 이해하고, 깨지지 않도록 이해해야 합니다 .coreutils
이를 사용해야 하는 모든 컴퓨터에 자신의 버전을 다시 설치 해야 합니다 .
- 이점:매우 간단하고 빠르며 통합되어 있습니다. 향후 표준 패치로 제공될 수 있나요
지금으로서는 이에 대해 조만간 논의하지 않겠습니다. 어쨌든 여기에 자신만의 솔루션이나 대체 해결 방법을 게시해 주시기 바랍니다. :)