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?