Ich erhalte eine Ausgabe von einem Programm, das zuerst eine Zeile mit einer Reihe von Spaltenüberschriften und dann eine Reihe von Datenzeilen erstellt. Ich möchte verschiedene Spalten dieser Ausgabe ausschneiden und sie nach verschiedenen Spalten sortiert anzeigen. Ohne die Überschriften kann das Ausschneiden und Sortieren auf einfache Weise über die -k
Option ausgeführt werden, eine Teilmenge der Spalten sort
zusammen mit cut
oder awk
anzuzeigen. Bei dieser Sortiermethode werden die Spaltenüberschriften jedoch mit den übrigen Ausgabezeilen gemischt. Gibt es eine einfache Möglichkeit, die Überschriften oben zu belassen?
head
liegt daran, dass mehr als eine Zeile in einen Puffer eingelesen und das meiste davon weggeworfen wird. Meine sed
Idee hatte das gleiche Problem.
lseek
fähigen Eingaben, so dass sie beim Lesen aus einer Pipe nicht funktioniert. Es wird funktionieren, wenn Sie zu einer Datei umleiten >outfile
und dann ausführen{ head -n 1; sort; } <outfile
{ head -1; sort; }
zum Laufen bringen. Es wird immer ein Teil des Texts nach der ersten Zeile gelöscht. Weiß jemand, warum das passiert?