Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

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

Auteur Topic: [opgelost] Bash - gevonden bestandsnaam opslaan in variable  (gelezen 391 keer)

Offline Nick Lamar

  • Lid
  • Steunpunt: Nee
[opgelost] Bash - gevonden bestandsnaam opslaan in variable
« Gepost op: 2013/04/27, 14:58:57 »
L.S.

In een bash-script heb ik een actie ingebracht die een directory met (genummerde) tekstbestanden doorzoekt:
rcp=””
read woord
grep -i -z $woord *.txt
Hiermee krijg ik keurig de bestandsnaam (bijvoorbeeld 11.txt) en de betreffende bestandstekst op het scherm. Vervolgens wil ik de bestandsnaam die grep gevonden heeft opslaan in variabel rcp. Daar kom ik niet uit. Heeft iemand een oplossing?
Bvd.
« Laatst bewerkt op: 2013/04/27, 17:33:21 door Nick Lamar »

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
Re: Bash - gevonden bestandsnaam opslaan in variable
« Reactie #1 Gepost op: 2013/04/27, 15:15:50 »
rcp=$(grep -iz "$woord" *.txt)

Zie trouwens niet waarom je -z nodig hebt als je *.txt files gebruikt?

Citaat
     -Z, -z, --decompress
             Force grep to behave as zgrep.
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Nick Lamar

  • Lid
  • Steunpunt: Nee
Re: Bash - gevonden bestandsnaam opslaan in variable
« Reactie #2 Gepost op: 2013/04/27, 15:57:08 »
Hier kan ik mee uit de voeten.
Wat betreft -z; ik heb gemerkt dat grep -z de line feed (nieuwe regel)  volgt van een txt-bestand. Zonder -z wordt de tekst geheel uitgevuld tot uiterst rechts en breken woorden verkeerd af.
Dank voor de oplossing!

NL

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
Re: Bash - gevonden bestandsnaam opslaan in variable
« Reactie #3 Gepost op: 2013/04/27, 17:26:09 »
Hmm, blijkbaar doen die flags andere dingen bij BSD grep en GNU grep.

Uit de manpage voor GNU grep:
Citaat
     -z, --null-data
             Treat the input as a set of lines, each terminated by a zero byte (the
             ASCII NUL character) instead of a newline. Like the -Z or --null option,
             this option can be used with commands like sort -z to process
             arbitrary file names.
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net