Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: karlitos 29 Října 2010, 17:08:09
-
Zdravim
Mam problem - potrebuju zmenit cestu ve vsech souborech vsech podadresaru v danem adresari.
Mam nejake skripty ktere jsem zkopiroval z puvodni lokace a ve spouste z ich je napevno zadana cesta /aaaa/bbbb/cccc a ja ji potrebuji zmenit na jinou /xxxxx/yyyyy/zzzzz Jedna se o rozne PHP , Perl a Shell skripty a konfiguracni soubory, proste vsechno co se da otevrit v textovem editoru
Melo by fungovat :
sudo grep -lIR '\/aaa\/bbb\/ccc' /aaa 2> /dev/null
ale bohuzel to tak zcela nefunguje - najde mi jich to tovka hrstku. Mozna je to tim ze potrebuju aby to naslo vsechny CASTI vsech retezcu ktere obsahuji /aaaa/bbbb/cccc , takze treba i $PATH=/aaaa/bbbb/cccc/;)}]
Pak by melo totiz fungovat :
grep -lIR '\/aaaa\/bbbb\/cccc' /aaaa/ 2> /dev/null | while read F; do sed -i 's:\/aaaa\/bbbb\/cccc:\/xxxx\/yyyy\/zzzz:g' "$F"; done
Kde delam co blbe ???
-
Podle mě to máš správně, jen možná v těch souborech nejsou ty cesty vždycky stejně. Části řetězců samozřejmě grep bere,
printf "jedna\ndva\ntři\n" | grep -l ř
funguje