Nejsou potřeba smyčky ani nic víc než find a gzip :
find . -type f ! -name '*.gz' -exec gzip "{}" \;
To najde všechny běžné soubory v aktuálním adresáři a pod ním, jejichž názvy nekončí .gz rozšíření (to znamená všechny soubory, které ještě nejsou zkomprimovány). Vyvolá gzip na každý soubor jednotlivě.
Upravit na základě komentáře z user unknown :
Složené závorky ({} ) jsou nahrazeny názvem souboru, který je předán přímo, jako jediné slovo, příkazu následujícímu za -exec jak můžete vidět zde:
$ touch foo
$ touch "bar baz"
$ touch xyzzy
$ find . -exec echo {} \;
./foo
./bar baz
./xyzzy
find . -type f | while read file; do gzip "$file"; done
Dávám přednost gzip -r ./ který dělá totéž, ale je kratší.
Nastavte proměnnou prostředí ve skriptu prostředí/přístupu v aplikaci Tomcat
Jak hledat obsah po vzoru?