Manchmal erhalte ich als Eingabe-Tab eine getrennte Liste, die zum Beispiel nicht ganz ausgerichtet ist
var1 var2 var3
var_with_long_name_which_ruins_alignment var2 var3
Gibt es eine einfache Möglichkeit, sie auszurichten?
var1 var2 var3
var_with_long_name_which_ruins_alignment var2 var3
command-line
text-processing
csv
tabulation
Elazar Leibovich
quelle
quelle
column -t
?columns -t
der sich auf allgemeine Leerzeichen bezieht . Verwenden Siecolumn -t -s $'\t'
Antworten:
Die Antwort lautet also:
Beachten Sie, dass dies Spalten in beliebigen Leerzeichen aufteilt, nicht nur Tabulatoren. Wenn Sie nur auf Registerkarten teilen möchten, verwenden Sie:
Das
-s $'\t'
setzt das Trennzeichen nur auf Tabulatoren und-n
behält leere Spalten (benachbarte Tabulatoren) bei.PS: Ich möchte nur darauf hinweisen, dass der Kredit auch an Alex geht . Der ursprüngliche Hinweis wurde von ihm als Kommentar zur Frage bereitgestellt, aber nie als Antwort gepostet.
quelle
column
:)column
scheint leider zu scheitern, wenn es auf leere Zellen stößt. Siehe diesen Beitrag . Je nachdem, über welche Versioncolumn
Sie verfügen, können Sie möglicherweise die-n
Option zur Korrektur angeben .column -t -s $'\t'
.Hier ist ein Skript, um es zu tun:
aligntabs.pl
Verwendungszweck
quelle
pr
undnl
sind die zwei grundlegenden Werkzeuge für die Formatierung und danachawk
,sed
,perl
etc.column
column -t -s $'\t'
scheint den Job zu machen.Für manuelle Tabulatoren:
expand -t 42,48
Für automatische Tabstopps, wie von alex vorgeschlagen :
column -t
(
expand
Ist auf allen POSIX-Systemen verfügbar.column
Ist ein BSD-Dienstprogramm, das auch in vielen Linux-Distributionen verfügbar ist.)quelle
Nach dem Kommentar von Peter.O, den ich ausrichten wollte (tabulatorgetrennte Daten, TSV), funktioniert dieser Satz sehr gut:
quelle
Erläuterung:
Sed fügt ein Leerzeichen zwischen Leerzeichen ein
Die Spalte fügt den gleichen Abstand zwischen den Spalten hinzu
wird
Less öffnet die Ausgabe in einem Datei-Viewer. -N und -S fügen die Zeilennummer hinzu und deaktivieren den Zeilenumbruch
quelle
Mit Miller ( http://johnkerl.org/miller/doc ) haben Sie eine schöne Druckausgabe.
Lauf
haben
quelle