Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: vyhledani nejakeho retezce ve vsech souborech daneho umisteni  (Přečteno 486 krát)

karlitos

  • Stálý člen
  • **
  • Příspěvků: 1057
  • Bioinformatics - solutions in-silico
    • homepage
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  ???
Lenovo ThinkCentre A61 912073G
Athlon X2 5000+ 4GB RAM Nvidia Geforce 9500GT
Linux Mint 9 Isadora , Win7 64Bit

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: vyhledani nejakeho retezce ve vsech souborech daneho umisteni
« Odpověď #1 kdy: 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

 

Provoz zaštiťuje spolek OpenAlt.