Prispevky v kategorii: ‘Užitečné bash příkazy a scripty’

Hromadné nahrazení textu v souborech

Tento příklad prohledá všechny soubory v adresáři /cesta/do/adresáře a nahradí text v souborech z „hledaný text“ za „nový text“:
find /cesta/do/adresáře -type f -print0 | xargs -0 sed -i 's|hledaný text|nový text|g'
Stejný příklad… ale nahradí celou řádku, ne jen hledaný text:
find /cesta/do/adresáře -type f -print0 | xargs -0 sed -i 's|.*hledaný text.*|nový text|g'
Dalším (a jednodušším) způsobem jak nahradit hromadně text v souborech je použitím příkazu replace.
Je potřeba mít ale nainstalován balíček mysql-server jehož je příkaz replace součástí.
Syntaxe je:
replace 'hledaný text' 'nový text' -- /cesta/do/adresáře/*

admin Užitečné bash příkazy a scripty

Nalezení souborů určitého typu obsahující určitý text

Tento příklad vyhledá *.txt a *.php soubory v adresáři /cesta/do/adresáře obsahující text „hledaný text“:

find /cesta/do/adresáře -type f -regex '.*\(txt\|php\)' | xargs grep -il "hledaný text"

Taktéž lze s úspěchem použít:

grep -d recurse -l "hledaný text" /cesta/do/adresáře

admin Užitečné bash příkazy a scripty

Vyhledá soubory určitého typu a smaže je

Tento příklad vyhledá všechny *.php soubory v adresáři /cesta/do/adresáře a
smaže je všechny:

find /cesta/do/adresáře -type f \( -name \*\.php \) | xargs rm

Stejný příklad ale smaže všechny *.php soubory starší více jak 5 dní:

find /cesta/do/adresáře mtime +5 -type f \( -name \*\.php \) | xargs rm

admin Užitečné bash příkazy a scripty