Löschen der ersten beiden Zeilen einer Datei mit BASH oder awk oder sed oder was auch immer
Ich versuche, löschen der ersten beiden Zeilen in der Datei einfach nicht den Druck es zu einer anderen Datei. Ich bin nicht auf der Suche nach etwas Phantasie. Hier ist mein (gescheiterter) Versuch awk:
awk '{ (NR > 2) {print} }' myfile
Wirft die folgende Fehlermeldung:
awk: { NR > 2 {print} }
awk: ^ syntax error
Beispiel:
Inhalt 'myfile':
blah
blahsdfsj
1
2
3
4
Was ich will, das Ergebnis ist:
1
2
3
4
InformationsquelleAutor der Frage Amit | 2012-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Rute:
aus der man-page:
InformationsquelleAutor der Antwort RobS
Wie etwa:
ODER
ODER
InformationsquelleAutor der Antwort anubhava
Du bist fast da. Versuchen Sie dies:
awk ist Regel, und die Regel erscheint blank (also ohne Klammern) vor den block es woud ausführen, wenn es geht.
Auch als Jaypal hat darauf hingewiesen, awk, wenn alles, was Sie wollen zu tun ist, drucken Sie die Zeile, entspricht den Regeln können Sie auch weglassen, die Aktion, also die Vereinfachung der Befehl:
InformationsquelleAutor der Antwort Chris J
awk
basiert aufpattern{action}
Aussagen. In Ihrem Fall, diepattern
istNR>2
und dieaction
Sie ausführen möchtenprint
. Dieseaction
ist auch diedefault action
vonawk
.So, obwohl
awk 'NR>2{print}' filename
würde funktionieren, kürzen kann man es
awk 'NR>2' filename
.InformationsquelleAutor der Antwort jaypal singh