Zeile in File

M

meez

miis
Hy

Ich muss in einem File bestimmte Zeilen auslesen. Gibt es dafür einen Befehl.?

Man könnte es so machen, aber das ist zu langsam:
zeile=3
head -$zeile <file> | tail -1

Kennt jemand einen performanteren Weg?
 
A

Anzeige

Hallo meez,

schau mal hier: Zeile in File. Dort wird jeder fündig!
J

JoBi

Eroberer
In vielen Fällen ist awk dein Freund

awk '{if (NR==3) print $0}' file
 
E

eXploed

Grünschnabel
kann ich hier auch machen das er nich nach der zeilennummer geht sondern nach dem inhalt der zeile??

ich brauch ein programm das mir ein zeile sucht und unter diese zeile einen text einfügt ...

ich hab leider keine ahnung von awk und werde es auch nich wieder brauchen, kann mir von euch jemand den code geben?

wäre wirklich total nett!
 
B

badfinger

Jungspund
Also für mich läuft das darauf hinaus, dass du erst nach dem gesucht Wort / Paragraph greppen musst und dann kommt der schwierige Teil... Ich würde die Datei mit grep durchsuchen, dann mit einem perlskript oder sowas die Datei auslesen; man kann auch die Zeilen zählen lassen... aber ich glaub das Schwierige ist doch das einfügen an der bestimmten Stlle. Hab sowas noch nicht gemacht... Aber generell, beim Suchen würde ich grep verwenden.
 
E

eXploed

Grünschnabel
und wie soll das gehn :/

ich kenn weder gred noch perlskript ... bin dochn totaler linux n00b!
 
B

badfinger

Jungspund
Also grep is wirklich einfach...

Wenn du beispielsweise nach dem Wort Linuxnewbie suchen willst in der Datei: linux

wäre eine Möglichkeit:

more linux | grep Linuxnewbie



Perlskript meinte ich nur, weil ich das mal machen musste; da hatten wir einen Editor programmiert... Ich bin leider noch nicht so bewandert, was Shell Skripte betrifft. Ich hab aber vor da mehr zu tun; weil als Netzwerk Admin kann man sowas ja immer gebrauchen :)
 
Cyber

Cyber

.:DISTORTED:.
Jetzt grad mal so aus'm Kopp und ohne Gewähr, da mom. keine bash zur Hand ;)

Code:
#!/bin/sh
INFILE="Deine Quelldatei"
OUTFILE="Deine Zieldatei"
STR2FND="Suchmuster"
NEWLN="Einzufügende Zeile"

for i in `cat $INFILE`
do
   echo $i>>$OUTFILE
   grep $STR2FND $i
   if [ $? -eq "0" ]
   then
       echo $NEWLN>>$OUTFILE
    fi
done

Man möge mich korrigieren :)
 
E

eXploed

Grünschnabel
hm werd ich mal testen! vielen dank

edit:

grep: cannot open file $INFILE for reading: No such file or directory (error 2)
i01ot6.txpom : ./Test.sh: :0: not found
 
Zuletzt bearbeitet:

Ähnliche Themen

Mit AWK verschiedene Felder verschiedener Zeilen vergleichen

Zeilen behalten, die Werte in einem bestimmten Bereich enthalten

SELinux und IPTV

Programm zur Bildbearbeitung gesucht!

CentOS 5.8 –SQL Abfrage– HTML wird generiert und daraus müssen mehrere Mails versendet werden

Oben