Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: On 23 Dubna 2009, 19:40:29

Název: vyhledání názvu souboru podle hledaného obsahu?? [vyřešeno]
Přispěvatel: On 23 Dubna 2009, 19:40:29
Jde o to, že si dám vyhledávání dle nějakého obsahu, který chci něčím nahradit.
Příklad: hledám rekurzivně v souborech řetězec "zkouška" na cestě $HOME. A potřeboval bych tento řetězec změnit třeba na "blbost", což není problém, když znám název souboru...pokud ho neznám, vyjedou mi všechny soubory, kde se tyto řetězce nachází, ale jak říct Bashi, ať pracuje se souborem, kde se řetězec "zkouška" nachází..? Pak už se to dá hodit do smyčky for i in; do; done a problém je vyřešen..
Název: Re: vyhledání názvu souboru podle hledaného obsahu??
Přispěvatel: 8472 23 Dubna 2009, 19:53:41
nejako mi unikla pointa co vlastne potrebujes?
Název: Re: vyhledání názvu souboru podle hledaného obsahu??
Přispěvatel: premet 23 Dubna 2009, 20:02:19
Kód: [Vybrat]
find cesta -exec grep -l "retezec" {} \; | while read line; do sed -i s'/co/zaco/g' $line; done
Název: Re: vyhledání názvu souboru podle hledaného obsahu??
Přispěvatel: nettezzaumana 23 Dubna 2009, 20:57:20
Kód: [Vybrat]
find cesta -exec grep -l "retezec" {} \; | while read line; do sed -i s'/co/zaco/g' $line; done
wtf is `gerp -l ..` ??
Název: Re: vyhledání názvu souboru podle hledaného obsahu??
Přispěvatel: On 23 Dubna 2009, 20:59:23
To Premet: Bravo, funguje přesně jak jsem chtěl, díky +
Název: Re: vyhledání názvu souboru podle hledaného obsahu??
Přispěvatel: nettezzaumana 23 Dubna 2009, 21:26:29
Kód: [Vybrat]
find cesta -exec grep -l "retezec" {} \; | while read line; do sed -i s'/co/zaco/g' $line; done
wtf is `gerp -l ..` ??
.. wtf `grep -l ..` stands for?
Název: Re: vyhledání názvu souboru podle hledaného obsahu??
Přispěvatel: premet 23 Dubna 2009, 21:36:32
man grep  ;D
Citace
-l, --files-with-matches
              Potlač normální výstup; místo toho tiskni jméno každého souboru,
              ze  kterého by se jinak tiskl nějaký výstup. Prohledávání skončí
              s první shodou.
Název: Re: vyhledání názvu souboru podle hledaného obsahu??
Přispěvatel: nettezzaumana 23 Dubna 2009, 21:54:05
man grep  ;D
Citace
-l, --files-with-matches
              Potlač normální výstup; místo toho tiskni jméno každého souboru,
              ze  kterého by se jinak tiskl nějaký výstup. Prohledávání skončí
              s první shodou.
such a bloody crap `grep` iz
Název: Re: vyhledání názvu souboru podle hledaného obsahu?? [vyřešeno]
Přispěvatel: arrange 23 Dubna 2009, 21:55:48
man grep  ;D
Citace
-l, --files-with-matches
              Potlač normální výstup; místo toho tiskni jméno každého souboru,
              ze  kterého by se jinak tiskl nějaký výstup. Prohledávání skončí
              s první shodou.
To je dobrá vychytávka... díky za ni. Jenom technická: nestačilo by
Kód: [Vybrat]
grep -Rl "retezec" cesta | while read line; do sed -i s'/co/zaco/g' "$line"; done?
A taky - jakto, že funguje (zkoušel jsem to) ten sed s tou uvozovkou za s, když podle syntaxe by měla být PŘED
Kód: [Vybrat]
sed -i 's/co/zaco/g'?  :)
Název: Re: vyhledání názvu souboru podle hledaného obsahu?? [vyřešeno]
Přispěvatel: On 24 Dubna 2009, 06:56:30
man grep a man všeobecně je opravdu pěkná věc a věřte lidi, že jsem ho četl,ale vzhledem k tomu, že jsem se učil 8let německy a neumím nic je pro mě angličtina malilinko problém :) Každopádně jsem našel českou verzi, ale parametr "-l" tam vážně chyběl :(