각 파일의 각 행에 대한 가중치의 합을 구합니다.

각 파일의 각 행에 대한 가중치의 합을 구합니다.

저는 AIX를 사용하고 있으며 지난 30일 동안 디렉토리에 생성된 총 파일 수를 확인해야 합니다. 나는 이 30일 동안 생성된 모든 것을 파일로 성공적으로 추출했으며 AWK 명령을 사용하여 각 파일의 가중치가 포함된 다른 파일을 성공적으로 생성했습니다. 어쨌든 각 행의 가중치가 포함된 파일이 이미 있는데 전체 가중치를 얻으려면 각 행을 추가해야 하는데 어떻게 해야 할지 모르겠습니다. 명확히 말하면 약 2,000,000개의 행이 있습니다. 감사해요

답변1

각 줄에 나열된 파일 크기의 합계를 얻으려면 file.list(파일 이름에 개행 문자가 포함되어 있지 않다고 가정):

perl -lne '$sum+=-s; END{print $sum}' file.list

심볼릭 링크의 경우 심볼릭 링크 대상의 크기를 계산합니다.

이는 겉보기 크기이며 일반적으로 디스크 사용량과 다릅니다.

답변2

이 명령은 지난 30일 동안 변경된 파일 크기의 합계를 표시합니다.

find . -mtime -30 -exec stat -c %s {} \; | awk '{SUM+=$1}END{print SUM}'

편집: 파일 합계

답변3

이 명령을 사용하면 작동합니다.

awk '{suma=0; for (i=1; i<=NF; i++) suma=$i;sumatotal=sumatotal+suma; print sumatotal}' COT2

COT2는 파일 이름입니다. 총 크기를 KB 단위로 얻은 다음 이 숫자를 GB로 변환합니다.

관련 정보