파일 확장자가 .css, .html 또는 .js 인 우분투의 모든 파일을 gzip하려고합니다. 최상위 디렉토리와 모든 하위 디렉토리에 있습니다. 원본 파일을 유지하고 이미있는 경우 .gz 파일을 덮어 쓰고 싶습니다.
따라서 n 개의 파일이있을 때이 n 개의 파일을 유지하고 추가로 n 개의 아카이브 파일을 만들고 싶습니다. 하나가 아닙니다.
내 시도는 다음과 같은 스크립트를 실행하는 것이 었습니다.
gzip -rkf *.css
gzip -rkf *.html
... one line for each file extension
첫 번째 : gzip하려는 각 파일 확장자에 대해 해당 스크립트에 한 줄이 있어야합니다. 괜찮습니다.하지만 더 나은 방법을 찾고 싶습니다.
두 번째로 더 중요한 것은 작동하지 않습니다. -r이 작업을 수행해야하지만 하위 디렉토리는 변경되지 않습니다. gzip 파일은 최상위 디렉토리에만 생성됩니다.
내가 여기서 무엇을 놓치고 있습니까?
Btw : 다음은 상세 출력의 버그입니다. 맞죠? -k 및 -v 옵션을 사용하는 경우
-k, --keep keep (don't delete) input files
-v, --verbose verbose mode
"replace"는 대체 후에 원래 파일이 존재하지 않음을 의미하지만 자세한 출력은 파일을 대체한다고 말합니다. 어쨌든 이것은 출력물 일뿐입니다.
$ ls
index.html subdir1 testfile testfile.css.gz
javaclass.java subdir2 testfile.css
$ gzip -fkv *.css
testfile.css: 6.6% -- replaced with testfile.css.gz
$ ls
index.html subdir1 testfile testfile.css.gz
javaclass.java subdir2 testfile.css
for 루프를 사용하여 모든 파일을 찾은 다음 압축 할 수 있습니다.
for i in `find | grep -E "\.css$|\.html$"`; do gzip "$i" ; done
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다