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: vyhledání názvu souboru podle hledaného obsahu?? [vyřešeno]  (Přečteno 2624 krát)

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
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..
« Poslední změna: 23 Dubna 2009, 21:40:19 od Premet »
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

8472

  • Aktivní člen
  • *
  • Příspěvků: 460
  • Zivot je ako rebrik do kurina, kratky a osraty ...
Re: vyhledání názvu souboru podle hledaného obsahu??
« Odpověď #1 kdy: 23 Dubna 2009, 19:53:41 »
nejako mi unikla pointa co vlastne potrebujes?
Logic clearly dictates that the needs of the many outweigh the needs of the few.

premet

  • Host
Re: vyhledání názvu souboru podle hledaného obsahu??
« Odpověď #2 kdy: 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

nettezzaumana

  • Host
Re: vyhledání názvu souboru podle hledaného obsahu??
« Odpověď #3 kdy: 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 ..` ??

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re: vyhledání názvu souboru podle hledaného obsahu??
« Odpověď #4 kdy: 23 Dubna 2009, 20:59:23 »
To Premet: Bravo, funguje přesně jak jsem chtěl, díky +
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

nettezzaumana

  • Host
Re: vyhledání názvu souboru podle hledaného obsahu??
« Odpověď #5 kdy: 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?

premet

  • Host
Re: vyhledání názvu souboru podle hledaného obsahu??
« Odpověď #6 kdy: 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.

nettezzaumana

  • Host
Re: vyhledání názvu souboru podle hledaného obsahu??
« Odpověď #7 kdy: 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

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: vyhledání názvu souboru podle hledaného obsahu?? [vyřešeno]
« Odpověď #8 kdy: 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':)
http://www.openstreetmap.org - mapy celého světa "wiki style"

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re: vyhledání názvu souboru podle hledaného obsahu?? [vyřešeno]
« Odpověď #9 kdy: 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 :(
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

 

Provoz zaštiťuje spolek OpenAlt.