
ls
다섯 번째 열의 결과 를 awk
. 추가하면 $bytesum+=...
프로그램이 분명히 충돌할 것입니다. 어떤 아이디어가 있나요?
bytesum=0
for i in `cat fileextensions.txt | sort | uniq`
do
ls -Rl "$folder" | grep $i | awk '{bytesum+=$5}; {print $9 " " $5}'
done
echo $bytesum
답변1
GNU를 사용하여 필요한 것은 다음과 같습니다.
find . -type f -printf '%s\n' | awk '{s+=$0} END{print s+0}'
결과:
find . -type f -exec stat -c '%s\n' {} \; | awk '{s+=$0} END{print s+0}'
특정 디렉터리("폴더"는 Windows 용어이고 UNIX 용어로는 디렉터리임)에서 특정 확장자를 가진 파일을 찾고 개수를 계산하려면 다음을 수행해 보세요.
dir='whatever'
ext='pdf'
find "$dir" -type f -name "*.${ext}" -printf '%s\n'
답변2
배쉬에서:
for size in `du *.jpg | cut -f1`; do sum=$((sum+size)); done; echo $sum
이것을 메인 루프에 통합하여 예제의 항목을 .jpg
스크립트의 적절한 변수로 변경하세요.$i