Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: karlitos 29 Října 2010, 17:08:09

Název: vyhledani nejakeho retezce ve vsech souborech daneho umisteni
Přispěvatel: 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 :
Kód: [Vybrat]
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 :
Kód: [Vybrat]
grep -lIR '\/aaaa\/bbbb\/cccc' /aaaa/ 2> /dev/null | while read F; do sed -i 's:\/aaaa\/bbbb\/cccc:\/xxxx\/yyyy\/zzzz:g' "$F"; doneKde delam co blbe  ???
Název: Re: vyhledani nejakeho retezce ve vsech souborech daneho umisteni
Přispěvatel: pacholik 29 Října 2010, 22:43:11
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,
Kód: [Vybrat]
printf "jedna\ndva\ntři\n" | grep -l ř funguje