Bisher habe ich grep
für diese Art von Fragen verwendet, aber hier, ich denke, es kann nicht verwendet werden. In der Tat, ich möchte eine Übereinstimmung im ersten Abschnitt jeder Zeile, und drucken Sie dann die gesamte Zeile.Mit Bash, wie die ganzen Zeilen einer TXT-Datei gedruckt werden, die in ihrem ersten Abschnitt eine bestimmte Zeichenfolge enthalten?
schrieb ich etwas wie folgt aus:
cat file.txt | cut -d " " -f1 | grep root
Aber natürlich ist dieser Befehl die ganze Zeile nicht gedruckt wird, sondern nur den ersten Abschnitt von jeder Zeile, die „root“ enthält. Ich habe von awk
Befehl gehört, aber selbst mit dem Handbuch verstehe ich nicht, wie ich mein Ziel erreichen kann.
Vielen Dank im Voraus für Ihre Antwort
Ok, also der '1' $ bezieht sich auf den ersten Teil der Linie, aber was ist der Zweck der "~"? – Ludovic
Es vergleicht das erste Feld '$ 1' mit der gegebenen Regex'/root/'. Aus dem Handbuch: ''~' und '! ~' Führen Sie Vergleiche mit regulären Ausdrücken durch '- siehe [Handbuch] (https://www.gnu.org/software/gawk/manual/gawk.html#Regexp-Usage) für mehr Informationen. – PesaThe
Okay, vielen Dank für deine schnelle Antwort, ich habe viel zu viel Zeit damit verbracht, das herauszufinden :) – Ludovic