재귀적으로 파일을 압축하고 원본 파일을 보존하고 텍스트 입력을 압축합니다.

재귀적으로 파일을 압축하고 원본 파일을 보존하고 텍스트 입력을 압축합니다.

내가 구축 중인 웹 서버에 대한 일부 정적 파일을 사전 압축하려면 Gzip이 필요합니다. gzip에 필요한 모든 파일은 .cache. 일부 클라이언트는 gzip 압축 응답을 허용하지 않을 수 있으므로 gzip 압축 중에 모든 원본 파일을 유지하고 싶습니다. .cache원본 파일을 유지하면서 폴더의 파일을 반복적으로 gzip하는 데 사용할 수 있는 명령이 있습니까 ? 이미 gzip 압축 파일이 포함된 폴더에서 이 명령을 실행하면 gzip 압축 파일(이미 .gz 접미사가 있는 파일)이 gzip으로 압축됩니까?

gzip에 관한 주제를 다루는 동안 저는 gzip 텍스트 입력을 파일 대신 gzip에 전달하는 방법을 찾고 있었습니다. 명령에 대시를 추가하는 방법(예: )을 알아냈지만 gzip -c -이것이 작동하는지, 어떻게 사용하는지 잘 모르겠습니다. 누구든지 이것을 설명할 수 있나요?

답변1

의 모든 파일 -c에 결과를 출력하려면 이 옵션을 사용하십시오 stdout.gzip.cache

for i in .cache/*; do gzip -c "$i" > "$i.gz"; done

편집하다:
gzip접미사를 확인하는 gziped 파일 대신 다시 확인하십시오 .gzip

for i in .cache/*; do [ "${i:(-3)}" == ".gz" ] || gzip -c "$i" > "$i.gz"; done

따라서 로 끝나지 않는 파일만 편집 .gz됩니다 gzip.

관련 정보