의 출력은 du -sh folder
일부 차원과 폴더입니다. 유사한 기능을 사용하여 차원을 얻으려면 어떻게 해야 합니까 grep -o '*G'
? 즉, 폴더 이름을 제거합니까?
답변1
간단한 cut
솔루션을 제공할 수 있습니다.
du -sh . | cut -f1
표준 구분 기호 cut
는 탭이므로 추가 옵션이 필요하지 않습니다. 필드 1을 인쇄하세요.
귀하의 의견에 따르면 리소스/속도에 관심이 있는 것 같으므로 Giles의 다른 답변을 인용하십시오.
"일반적으로 말하면 도구가 전문화될수록 속도가 빨라집니다. 따라서 대부분의 경우 합계가 더 빨라지고 합계도 더 빨라질 것으로 예상
cut
할grep
수sed
있습니다sed
.awk
"
에서 인용여기
time
이 두 명령의 출력은 다음과 같습니다.
time du -sh /folder | awk '{print $1}'
60K
real 0m0.005s
user 0m0.002s
sys 0m0.004s
time du -sh /folder | cut -f1
60k
real 0m0.003s
user 0m0.000s
sys 0m0.004s
공정한 테스트를 위해서는 여러 번 반복하고 평균을 내야 한다고 생각하지만 어느 쪽이든 별 내용이 없습니다. 기술적으로 절단은 "더 빨라"야 합니다.
답변2
awk를 사용하여 첫 번째 열만 인쇄할 수 있습니다.
du -sh folder | awk '{print $1}'
파일의 경우 awk도 사용하세요.
awk '!($3="")' file