UNIX: Mit egrep oder sed die Zeile mit dem ersten Auftreten eines Strings suchen?

7

Ich arbeite in einer Bash-Shell und versuche nur die Zeile des ersten Auftretens der Zeichenkette zu drucken. Zum Beispiel für die Zeichenfolge ' auir ', wenn ich die Datei myfile.txt habe und sie enthält:

%Vor%

Ich möchte " forauir somethingelse " ausgeben

Bisher verwende ich den Befehl

%Vor%

Das gibt mir alle Vorkommen dieser Zeichenfolge. Wie kann ich nur die erste Zeile bekommen, auf der ' auir ' auftritt? Es wäre großartig, wenn es nur ein einzelner Befehl oder eine Pipeline von Befehlen wäre.

Jede Einsicht wird sehr geschätzt.

    
tf.rz 20.05.2012, 18:51
quelle

5 Antworten

5

Dieser Befehl sed

sed -n '/auir/p' myfile.txt | head -1

löst Ihr Problem.

    
beerbajay 20.05.2012, 18:54
quelle
9

Verwenden Sie dies:

%Vor%     
the paul 20.05.2012 18:56
quelle
5

Dies könnte für Sie funktionieren:

%Vor%

oder

%Vor%     
potong 20.05.2012 19:26
quelle
2

sed -n -e '4s / air / air / p' Datei

    
loganaayahee 01.10.2012 10:01
quelle
1

Oder so einfach kann es sein

%Vor%     
mawia 20.05.2012 22:10
quelle

Tags und Links