Wie kann ich awk verwenden, um den gesamten Text nach einem bestimmten Zeichen zu entfernen? ";" das erscheint in jeder Zeile meiner Textdatei? (Ich muss dann für Schleifen im Text laufen)
Jenny,Sarah,John;North Dakota
Henry,Frank;Illinois
Aaron,Kathryn,Caitlin,Harris;New York
text-processing
awk
Jenny
quelle
quelle
Antworten:
Es gibt zwei allgemeine Ansätze.
Setzen Sie
awk
das Feldtrennzeichen auf dieses Zeichen. Sie können dann die gewünschten Teile erhalten als$1
:Verwenden Sie,
gsub()
um es durch eine leere Zeichenfolge zu ersetzen:Also, für Ihr Beispiel:
quelle
Hier ist eine Antwort mit
sed
- da Sie eigentlich keine Feldverarbeitung durchführen, ist awk wahrscheinlich übertrieben.quelle
Und auch nur
cut
..quelle
Manchmal möchten Sie möglicherweise alle Zeichen nach einem bestimmten Wort durch eine andere Zeichenfolge ersetzen. Zum Beispiel:
original_string="abc blabla foo bar"
und Sie möchten Wörter nach blabla durch "Hallo Welt" ersetzenquelle