Ich möchte die Zeilen erhalten, die ein definiertes Wort mit grep enthalten.Wie kann ich ein ganzes Wort mit Grep bekommen?
Edit: Die Lösung war this eins.
Ich weiß, dass ich die Option -w verwenden kann, aber es scheint nicht den Trick zu tun.
Beispiel: Jedes Wort, das mein definiertes Wort enthält, das durch Satzzeichen getrennt ist, ist enthalten. Wenn ich für Hunde aussehen, wird es mir Linien zeigen, dass nicht nur Hunde Wort enthalten, sondern auch cats.dogs, Katzen-Hunde usw.
# cat file.txt
some alphadogs dance
some cats-dogs play
none dogs dance
few dog sing
all cats.dogs shout
Und mit grep:
# cat file.txt | grep -w "dogs"
some cats-dogs play
none dogs dance
all cats.dogs shout
gewünschte Ausgabe:
# cat file.txt | grep -w "dogs"
none dogs dance
Kennen Sie eine Workaround, mit der Sie das ganze Wort bekommen können? Ich habe es mit \ b oder \ < mit negativen Ergebnissen getestet.
Danke, Eudald
anzeigen erwartete Ausgabe – 123
'grep würde -w' offensichtlich nicht hier @triplee arbeiten, kann es nicht sein dupliziert mit der aktuellen Frage – Inian
'grep -w' fehlgeschlagen, da Interpunktion und Ende/Anfang des Zeilenzeichens als Nicht-Wort-Zeichen betrachtet werden; auch wenn es funktioniert hat, kann die Implementierung sehr langsam sein –