ls
5번째 열 결과 를 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