이것은 일부 파일을 나열하는 데 사용하는 명령입니다.
find . -name \*.extract.sys -size +1000000c -exec ls -lrt {} \;
-rw-r--r-- 1 qa1wrk15 test 1265190 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_7.20110929.extract.sys
-rw-r--r-- 1 qa1wrk15 test 1345554 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_2.20110929.extract.sys
-rw-r--r-- 1 qa1wrk15 test 1370532 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_3.20110929.extract.sys
-rw-r--r-- 1 qa1wrk15 test 1399854 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_8.20110929.extract.sys
등등.
이제 다섯 번째 열을 요약하여 이러한 파일의 총 크기를 계산하려고합니다. 나는 awk
이것을 사용하여 특정 디렉토리에서 다음을 테스트했다.
>ls -lrt | awk `{ print $1 }`
ksh: syntax error at line 1 : `{' unmatched
문제가 무엇인지 이해하지 못하는 이유는 무엇입니까?이 구문 오류가 발생했습니다 .
시도하려고합니다
ls -lrt | awk `BEGIN {total = 0} {for(i=0;i<NR;i++){total+=$5}} END {printf "%d",total}
이것은 또한 간단한 awk
스크립트가 작동하지 않습니다.
내가 틀렸거나 해결 방법이 있으면 알려주십시오.
find . -name \*.extract.sys -size +1000000c -exec ls -lrt {} \; | awk '{ total += $5 }; END { print total }'