내가 데비안 6을 사용하고 있는데 GNU는 mb 및 이하와 같은 접미사보다 사람이 읽을 수 바이트의 긴 문자열에서 du
의 출력을 변환 AWK를 얻기 위해 노력하고, 나오지도. (난 당신이 -h
옵션을 사용할 수 있습니다 알지만, AWK 수동으로이 작업을 수행 할 수 있습니다.)AWK 구문 오류 **
지금까지, 내 명령은 다음과 같습니다 가 (필자는 줄 바꿈에 넣어 더 읽을 수 있도록) :
du /test.img | grep [0-9]* | awk "{ sum=$1 ; hum[1024**3]='Gb';hum[1024**2]='Mb';
hum[1024]='Kb'; for (x=1024**3; x>=1024; x/=1024){ if (sum>=x)
{ printf '%.2f %s\n',sum/x,hum[x];break } }}"
나는 모든 이중성
**
한 스타
*
, AWK 실행을하면
awk: line 1: syntax error at or near *
awk: line 1: syntax error at or near *
awk: line 1: syntax error at or near *
awk: line 1: extra ')'
awk: line 1: syntax error at or near {
,하지만 잘못된 번호를 :
는 그러나, 나는 두 번 별 근처에 /에서 구문 오류를 얻을.
내가이 구문 오류를 수정하고 그렇게 awk
wardly 혼란 그만 위해 무엇을 할 수 있는가?
당신은 지수로'**'사용하려고합니까? 그것은'^'아닌가요? –
Ooops! 네가 옳아! 그것은 그것을 고쳤다. 이진 킬로바이트 (** 10 2)를 사용하는 것처럼 –
그리고 사람들은, 지브, MiB 크기 및 킬로바이트해야합니다. 코드를 더 명확히하기 위해 상수를'awk -f GiB = ...'또는'BEGIN' 블록을 통해 변수로 미리 정의 할 수 있습니다. –