Schreiben Sie ein Programm, das eine Phrase findet und ausdruckt

Schreiben Sie ein Programm, das eine Phrase findet und ausdruckt

Ich muss ein Shell-Skript schreiben, das die Phrase „Candy Land“ findet und die 10 Zeilen um die Zeile herum ausgibt, in der das Wort vorkommt. Nehmen wir an, es wird nur einmal gefunden.

Ich weiß nicht, was mit Shell-Programm und Drucken der 10 Zeilen um dieses Wort herum gemeint ist. Vielleicht mit Kopf/Schwanz.

Ich weiß, dass Sie die Phrase mit grep folgendermaßen finden können:

grep 'Candy Land' file

Aber ich glaube nicht, dass das ist, was ich tun soll.

Antwort1

Grep verfügt über einige Flags, beispielsweise -Afür die Anzeige der Zahlenreihe nach der Übereinstimmung und -Bfür die Anzeige der Zahlenreihen vor der Übereinstimmung. Beide erwarten eine Zahl, gefolgt vom Flag.

Außerdem kann die Flagge -Cverwendet werden, die beides kombiniert, um Ihnen sowohl davor als auch danach eine Zeile zu geben.

Zum Beispiel,

grep -A 1 -B 1 'Candy Land' file

oder

grep -C 1 'Candy Land' file

verwandte Informationen