lösche eine Spalte mit awk oder sed
Ich habe eine Datei mit drei Spalten. Ich möchte zu löschen, die 3. Spalte(in-place editing). Wie kann ich dies mit awk oder sed?
123 abc 22.3
453 abg 56.7
1236 hjg 2.3
Gewünschte Ausgabe
123 abc
453 abg
1236 hjg
InformationsquelleAutor der Frage user2160995 | 2013-03-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte dies für Sie arbeiten (GNU sed):
Wenn Sie möchten, löschen Sie die Leerzeichen vor dem 3. Feld:
InformationsquelleAutor der Antwort potong
versuchen, diese kurze Sache:
InformationsquelleAutor der Antwort Kent
Mit GNU awk für inplace-editing,
\s/\S
undgensub()
zu löschen1) das ERSTE Feld:
oder
2) das LETZTE Feld:
oder
3) die Nth Bereich, wo N=3:
Ohne GNU awk, benötigen Sie ein
match()
+substr()
combo oder mehreresub()
s + vars zu entfernen, die einen mittleren Bereich. Siehe auch Drucken Sie alle aber die ersten drei Spalten.InformationsquelleAutor der Antwort Ed Morton
Es scheint, Sie könnte gehen Sie einfach mit
Dieser druckt die ersten beiden Felder jeder Zeile in der Eingabe-Datei, getrennt durch ein Leerzeichen.
InformationsquelleAutor der Antwort tonio
Versuchen Sie dies :
oder
InformationsquelleAutor der Antwort Gilles Quenot
GNU awk 4.1
Dies entfernt das Letzte Feld jeder Zeile.
InformationsquelleAutor der Antwort Steven Penny
Versuchen mit cut... die schnelle und einfache
Zuerst müssen Sie wiederholt Räumen, Pressen Sie diese nach unten, um ein Leerzeichen zwischen den Spalten, wenn es das ist, was Sie wollen mit
tr -s ' '
Wenn jede Spalte hat schon nur ein Trennzeichen zwischen, können Sie
cut -d ' ' -f-2
drucken Felder (Spalten) <= 2.zum Beispiel, wenn Ihre Daten in eine Datei input.txt führen Sie einen der folgenden Schritte aus:
Oder wenn Sie besseren Grund, sich über dieses problem durch das entfernen der 3. Spalte können Sie die folgenden schreiben
Schnitt ist ziemlich mächtig, Sie können auch extrahieren Sie reicht von bytes oder Zeichen, zusätzlich zu den Spalten
Auszug aus der man-page auf die syntax zum angeben der Liste Bereich
also Sie könnte auch gesagt haben, Sie wollen bestimmte Spalten 1 und 2 mit...
InformationsquelleAutor der Antwort Jon