Toon posts:

bepalen van line number met sed of bash

Pagina: 1
Acties:
  • 32 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een text file waar ik wil gaan zoeken naar een bepaald woord bijvoorbeeld een e-mail address. Als ik het addres gevonden heb wil ik daarvan het line number weten. Als ik het volgende commando uitvoer:

cat $filename | sed =

komen er wel line nummers maar dan allemaal. Ik wil er echter alleen het nummer van de line hebben die ik nodig heb. In de man pages van sed kan ik hier niks vinden :?

Weet iemand hoe ik dit moet doen en kan dit ook met een ander programaatje?

Alvast bedankt :)

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

grep is je vriend ;)
code:
1
grep -n $filename

Mistakes are proof that you are trying...


  • flat
  • Registratie: Mei 2000
  • Niet online
met grep -n?
-n, --line-number
Prefix each line of output with the line number within its input file.

"Happiness is a way of travel, not a destination."
--Roy Goodman


Verwijderd

Topicstarter
Ow dank je :) Dat zoiets moeilijks te vinden is toch makkelijk is 8)7 Maar harstikke bedankt :)

Verwijderd

Topicstarter
Ik heb nu een scriptje gemaakt die het virtual bestand uitleest van postfix. In mijn scriptje staat nu het volgende:

REGELNR=`cat /root/mailtjes | grep -n $1 | awk '{print substr ($1,2,3)}'`

Met het mailtjes bestand een kopie van het virtual bestand

Echter: Ik kriijg als output

23: of welke regelnummer dan ook.

Is er een manier om de dubbele punt te verwijderen?

Iemand nog ideeen hierover? ;)

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Misschien de delimiter van awk op ":" zetten
code:
1
cat  bestand|grep -n $1|awk -F":" '{print $1}'

ofzo.....

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

Of

REGELNR=`grep -n $1 /root/mailtjes | cut -d":" -f1`

korter! korter! korter! ;)

Verwijderd

Topicstarter
Thanks. Dit werkt! Ik kan tenminste het regelnummer in mijn script plaatsen en zo een bewerking op doen. Alleen komt er af en toe de melding na mijn output:

You have new mail in /var/spool/mail/root

Maar ik denk dat dit niet geplaatst is in dit topic :)

Bedankt voor de snelle reacties allen!

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Ja er zijn wel meer manieren......

Als je cat -n gebruikt gooit die er een regelnummer voor, zonder de ":"

:)

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Die melding over je e-mail betekent vast dat je nieuwe e-mail hebt en lijkt me weinig met het script van doen te hebben, en verder was dit met wat bash-scripting-howto/manpage-leeswerk en wat zoeken en prutsen ook wel uit te vinden geweest denk ik.
Pagina: 1

Dit topic is gesloten.