Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Zoeken naar (tekst)bestanden die een bepaald patroon bevatten.  (gelezen 1234 keer)

Ik heb een script/programma/persoon-die-tijd-teveel-heeft nodig om te zoeken naar een bepaald tekstpatroon in tekstbestanden (als jullie het heel precies willen weten: Ik wil alle referenties naar "Debian" en "Ubuntu" uit mijn broncodes halen - dwz ipv bv "Binutils for Debian" of "Binutils for Ubuntu" wil ik "Binutils for ".) Weten jullie hier een prog voor? Liefst een prog dat niet teveel libs en geheugen nodig heeft. (Zit hier op een 4GB schijfje, 256 mb ram, 1.1 GHz processor, dus het mag niet te overdreven zijn...)

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net


Zoeken naar (tekst)bestanden die een bepaald patroon bevatten.
« Reactie #2 Gepost op: 2007/12/12, 17:18:31 »
Citaat van: Rulus
sed
sed = stream editor. Dat heb ik niet nodig, ik moet zoeken naar de inhoud van een bestand. Het is niet gewoon een bestand, maar een hele boom van bestanden. Dus ik weet niet in welk bestand het "kwaad" zich verschuilt.

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Zoeken naar (tekst)bestanden die een bepaald patroon bevatten.
« Reactie #3 Gepost op: 2007/12/12, 17:34:47 »
sed is wel het programma waar je naar zoekt hoor.
Quote van de man page:
Citaat
Sed  is a stream editor.  A stream editor is used to perform basic text
transformations on an input stream (a file or input from  a  pipeline).
Bijvoorbeeld deze optie wil je denk ik wel gebruiken:
Citaat
s/regexp/replacement/
              Attempt  to match regexp against the pattern space.  If success

Zoeken naar (tekst)bestanden die een bepaald patroon bevatten.
« Reactie #4 Gepost op: 2007/12/12, 17:42:04 »
Citaat van: Johanvd
sed is wel het programma waar je naar zoekt hoor.
Quote van de man page:
Citaat
Sed  is a stream editor.  A stream editor is used to perform basic text
transformations on an input stream (a file or input from  a  pipeline).
Bijvoorbeeld deze optie wil je denk ik wel gebruiken:
Citaat
s/regexp/replacement/
              Attempt  to match regexp against the pattern space.  If success�
              ful,  replace  that  portion  matched  with  replacement.    The
              replacement may contain the special character & to refer to that
              portion of the pattern space  which  matched,  and  the  special
              escapes  \1  through  \9  to refer to the corresponding matching
              sub-expressions in the regexp.
Als ik zeg dat ik geen sed nodig heb, zal ik het toch wel weten, hé? ;). Ik heb 2 dagen geleden nog een ganse cursus sed gevolgd, dus ik weet wel wat het is en hoe en wanneer het te gebruiken. Het probleem is dat ik hier niet mag "blind vervangen", maar zelf moet controleren wanneer, wat en hoe iets vervangen moet worden. Ik zou dus gewoonweg de namen van de bestanden moeten doorkrijgen waar iets instaat, en eventueel de regelnummers.

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Zoeken naar (tekst)bestanden die een bepaald patroon bevatten.
« Reactie #5 Gepost op: 2007/12/12, 17:46:09 »
Grep aanraden is moelijk hé? grep -Rn debian . :)

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Zoeken naar (tekst)bestanden die een bepaald patroon bevatten.
« Reactie #6 Gepost op: 2007/12/12, 17:49:25 »
Dan moet je grep gebruiken.
grep -nr regexp /locatie/waar/je/wil/zoeken/

Dit geeft de bestanden, regelnummers en laat zien wat er op die regel staat.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Zoeken naar (tekst)bestanden die een bepaald patroon bevatten.
« Reactie #7 Gepost op: 2007/12/12, 17:50:43 »
Je was net iets eerder ;)
Omdat je zei dat er dingen aangepast moesten worden lag sed voor de hand.
Als je alleen wil zoeken, dan is grep inderdaad makkelijker.