최대 50M까지 파일을 선택적으로 압축

최대 50M까지 파일을 선택적으로 압축

data*선택한 파일의 압축된 zip 파일이 50MB를 초과하지 않도록 시작하는 모든 파일을 선택하고 날짜별로 최신 파일을 선택해야 합니다 . Bash 스크립트에서 이를 어떻게 달성할 수 있나요?

답변1

당신은 다음과 같은 것을 원할 것입니다

stat -c "%Y %n" data* | sort -rn | cut -d" " -f2- | 
while IFS= read -r file; do 
    if ! [[ -f my.zip ]]; then
        zip my.zip "$file"
    elif (( $(stat -c %s my.zip) < 50000000 )); then
        zip my.zip "$file"
    else 
        echo "zip file full"
        break
    fi
done

첫 번째 줄은 현재 디렉터리의 파일을 수정 시간을 기준으로 최신 항목부터 오래된 항목 순으로 정렬합니다.

관련 정보