Schwanz / Kopf alle Zeilen außer X letzte / erste Zeilen

4737
network

Zum Beispiel habe ich diese Datei:

cat myfile 1 2 3 4 5 

Ich möchte alle Zeilen außer der ersten Zeile drucken. Ausgabe sollte so sein:

tail -n $(( $(wc -l myfile | awk '') - 2 )) myfile 3 4 5 

Ja, die Ausgabe ist richtig. Aber es gibt ein Problem, wir haben 5 Zeilen in dieser Beispieldatei, richtig? Wenn ich mehr als 5 in diesem Befehl verwende, sollte die Ausgabe leer sein, aber nicht !!!

tail -n $ (($ (wc -l myfile | awk '') - NUMBER )) myfile

Dieser Outout sollte leer sein, ist es aber nicht

tail -n $(( $(wc -l myfile | awk '') - 8 )) myfile  1 2 3 4 5 

myfile kann X-Zeilen enthalten ... Danke für die Hilfe

0

1 Antwort auf die Frage

3
choroba

tail -n+3 gibt die letzten Zeilen ab der dritten aus.

Zeilennummer ist variabel und ich weiß nicht, wie viele Zeilen es gibt. möchte alle außer den letzten 3 Zeilen behalten network vor 8 Jahren 0
Das ist nicht das, was Sie in der Frage beschrieben haben, aber "head -n-3" sollte Ihnen das geben, was Sie brauchen. choroba vor 8 Jahren 0
Ich habe eine Frage bearbeiten. Aber diese Datei wird von einem Skript ausgegeben und wir wissen nicht, wie viele Zeilen ... network vor 8 Jahren 0
Sie müssen die Anzahl der Zeilen nicht kennen. choroba vor 8 Jahren 0
versucht ist es nicht das, was ich zum beispiel brauche, wenn ich alle zeile außer 8 zeilen haben möchte, aber ich habe nur 5 zeilen. die ausgabe sollte leer sein: tail -n-8 myfile 1 2 3 4 5 network vor 8 Jahren 1
@behnam: Verwende `+` mit `Schwanz`, nicht` -` wie ich. choroba vor 8 Jahren 0