Inhalte mit grep mit Nummer in File schreiben

  • Ersteller blueunderground
  • Erstellt am
blueunderground

blueunderground

Mitglied
Hi Zusammen,

habe eine Datei Names file.txt.

INHALT (file.txt)

Dies ist ein Test.
Das ist schön.
Dieser Test ist super.
Warum?
Durch diesen Test kann man viel lernen.

nun mache ich ein:

Code:
grep Test file.txt

Als ergebnis erhalte ich die gefunden Ergebnisse.

Test
Test
Test

Jetzt möchte ich meinen Suchergebnissen Nummern übergeben, als ergebnis sollte dann sowas rauskommen.

Test 1
Test 2
Test 3

immer eine fortlaufende Nummer soll hinter dem gefundenen Ergebnis am besten in einem File names ergebnis_test_nummern.txt gespeichert werden.

Wie mache ich das am besten ?

Danke
 
warum hinten? vorn ist doch viel schöner :D
Code:
grep Test file.txt|cat -n
 
aber bitteschön wenns unbedingt sein muss :think:
Code:
i=1; while read zeile; do echo $zeile $((i++)); done<file.txt
 
Hallo
Darf es auch perl sein?
Schnellschuss:

perl -anle '(/Suchwort/ig)?print "$_ Treffer",++$i:1'input_file




ninguno schrieb:
Code:
i=1; while read zeile; do echo $zeile $((i++)); done<file.txt
Zählt nicht die Treffer ( wo ist hier grep?) , sondern alle Zeilen.
Das geht mit wc -l file schneller. ;)

Es geht natürlich auch mit grep, aber das überlass ich nun doch mal @ninguno. ;)
Statt file muss $(grep 'Suchwort' file) rein.
Ein wenig tricky ist das richtige Quoting. ;)

Gruß Wolfgang
 
Wolfgang_1 schrieb:
Zählt nicht die Treffer ( wo ist hier grep?) , sondern alle Zeilen.
Es geht natürlich auch mit grep, aber das überlass ich nun doch mal @ninguno. ;)
ah ja das hab ich im eifer des gefechts wohl übersehen :rolleyes: , aber so gehts
Code:
i=1; grep Test file.txt|while read zeile; do echo $zeile $((i++)); done
 
ninguno schrieb:
ah ja das hab ich im eifer des gefechts wohl übersehen :rolleyes: , aber so gehts
Code:
i=1; grep Test file.txt|while read zeile; do echo $zeile $((i++)); done

Hallo
Code:
wolle@NIETZSCHE$
i=1; grep Test testfile|while read zeile; do echo $zeile $((i++)); done
 [i]ein test 1
 noch ein test 1
 und noch ein test 1[/i]

:think:
Code:
[b]
wolle@NIETZSCHE$
export i=1; grep test testfile|while read zeile; do echo $zeile $i;i=$((i+1)); done
[i]
 ein test 1
 noch ein test 2
 und noch ein test 3[/i]
[/b]
:devil:
:brav:

duck und wech :D

Gruß Wolfgang
 
hallo Wolfgang,
bei mir geht auch meine version:
Code:
franz@linux:~/tmp> i=1; grep Test file.txt|while read zeile; do echo $zeile $((i++)); done
Dies ist ein Test. 1
Dieser Test ist super. 2
Durch diesen Test kann man viel lernen. 3
was hast du für eine shell?
 
ninguno schrieb:
hallo Wolfgang,
bei mir geht auch meine version:
Code:
franz@linux:~/tmp> i=1; grep Test file.txt|while read zeile; do echo $zeile $((i++)); done
Dies ist ein Test. 1
Dieser Test ist super. 2
Durch diesen Test kann man viel lernen. 3
was hast du für eine shell?



$ bash --version
GNU bash, version 3.00.16(1)-release (i386-pc-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.


Gruß Wolfgang
 
Deine bash ist kaputt *g*
Code:
goodspeed:~$ i=1; grep Test testfile|while read zeile; do echo $zeile $((i++)); done
Dies ist ein Test. 1
Dieser Test ist super. 2
Durch diesen Test kann man viel lernen. 3
goodspeed:~$ bash --version
GNU bash, version 3.00.16(1)-release (i486-pc-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.
 
Goodspeed1978 schrieb:
Deine bash ist kaputt *g*
Code:
goodspeed:~$ i=1; grep Test testfile|while read zeile; do echo $zeile $((i++)); done
Dies ist ein Test. 1
Dieser Test ist super. 2
Durch diesen Test kann man viel lernen. 3
goodspeed:~$ bash --version
GNU bash, version 3.00.16(1)-release (i486-pc-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.

Das ist gut möglich, habe es eben in meinem Rescue-System mit der bash2.05 getestet und dort geht es auch mit $((i++));
Deshalb habe ich ja auch nicht gesagt, dass diese Lösung falsch ist, sondern nur dass es bei mir nicht geht.

Ein
a=1; for i in {1..10}; do echo $((a++)); done
funktioniert auch hier, lt.manpage sollte es auch!
Werde wohl mal meine bash reparieren müssen.
Treten da mitunter seltsame Quoting-Probleme auf.
*gg*
Gruß Wolfgang
 
Hi, ok klappt mal wieder super !

Vielen Dank für Eure gemeinesame Hilfe :-)

DANKE
 

Ähnliche Themen

kernel Programmierung sys_creat

Inhalte in einer Datei suchen und Dateiname ausgeben

Newbie sucht Hilfe: Zahl aus Datei mit grep/cut/sed lesen und schreiben?

Samba als PDC

Variable richtig übergeben

Zurück
Oben