Ich versuche, eine Liste von Einträgen in bash zu formatieren, und verwende den column
Befehl. Die Option -t
verwendet jedoch standardmäßig alle Leerzeichen als Trennzeichen, was für die Daten, die ich habe, nicht funktioniert (sie enthält Leerzeichen und Tabulatoren). Ich kann nicht herausfinden, wie man das -s
Flag erhält, um ein Newline-Zeichen als das einzige Spaltentrennzeichen zu spezifizieren.Formatieren von Listen mit dem Spaltenbefehl in * nix
Antwort
In der Theorie eine neue Zeile zu spezifizieren, können Sie die $'...'
Notation verwenden können, die wie nur '...'
ist, außer dass es unterstützt C-Stil Escape-Sequenzen:
column -t -s $'\n' list-of-entries.txt
Aber ich verstehe nicht wirklich, Der Zweck davon. Ein Neue-Zeile ist die Zeilentrennzeichen, so dass eine säulen delimiter von $'\n'
entspricht überhaupt keine Spaltentrennzeichen aufweist:
column -t -s '' list-of-entries.txt
was bedeutet, dass der Eingang als mit nur einer Säule behandelt wird; so ist es entspricht nicht column
überhaupt mit:
cat list-of-entries.txt
Es scheint, wie Sie eigentlich nicht wollen die -t
Flagge verwenden, da der Zweck der -t
Flagge, um sicherzustellen, dass jede Zeile der Eingabe wird eine Zeile der Ausgabe, und es klingt nicht wie das ist, was Sie wollen. Ich schätze, dass Sie dies wünschen:
column list-of-entries.txt
, die jede Zeile von list-of-entries.txt
als Wert behandeln, dass column
Ausgänge in einer Zelle der Tabelle gesetzt werden.
Große Erklärung mit dem vollen Verständnis des wirklichen Problems, das der Fragesteller antraf! – YaOzI
Sie treffen es direkt auf den Kopf! Danke für die tolle Erklärung! –
Das funktioniert ziemlich Druckversion einer Registerkarte Ausgabedatei begrenzt
column -t -s $'\t' list-of-entries.txt
- 1. Äquivalent von * Nix 'welcher Befehl in Powershell?
- 2. Nix: kompiliere Vim mit Ruby
- 3. Ausführen * nix-Binärdateien in Python
- 4. Pseudo-Dateisysteme auf * nix
- 5. Listen von Listen von Listen
- 6. Verschiebung von Windows zu * Nix-Programmierung-Plattform
- 7. Constructing dynamische Listen von Listen mit Polymer
- 8. Wie nix mit Eclipse zu verwenden
- 9. Pandas DataFrame aus dem Wörterbuch mit Listen
- 10. Verständnis * nix-Icons' Pfade
- 11. C# - Listen von Listen
- 12. Formatieren von JPanels mit GridBagLayout
- 13. Nix-Shell mit R Interpreter und Submodule
- 14. Formatieren von Zahlen mit Komma in D3
- 15. Formatieren von Zellen in Excel mit Python
- 16. Formatieren Problem mit dem Körper der E-Mail mit PHPMailer
- 17. Formatieren von Zeichenfolgen in Java
- 18. Liste in Listen innerhalb von Listen
- 19. Build versus Runtime Abhängigkeiten in Nix
- 20. c4.5 Algorithmus Implementierung auf * nix
- 21. Starten asynchrone Prozesse unter Verwendung von C in * nix
- 22. Summe von zwei Listen mit Listen in R
- 23. Listen von Listen zu csv?
- 24. Vergleich Listen mit Listen
- 25. Berechnen von Niederschlag mit Listen in Python
- 26. Formatieren von HTML-Nummern mit Kommas
- 27. Formatieren von Strings in Python
- 28. Improving Python Leistung in dem Vergleich von zwei Listen
- 29. Formatieren von Zeitstempeln in Java
- 30. Formatieren von DataBinder.Eval-Daten
können Sie einige Beispiel-Input & Output posten? –
Beachten Sie, dass 'Spalte' unter Linux (und unter Mac OS X 10.7.4) verfügbar ist. Es ist nicht unbedingt für andere Unix-Varianten verfügbar. Es ist beispielsweise nicht von POSIX standardisiert. –
Wenn Sie 3 Spalten der Ausgabe wünschen, wird 'pr -l 1 -t -3' sehr nahe an dem, was Sie' column' erzeugen wollten. Ändern Sie für N Spalten die 3 in N; Um eine Breite anzugeben, fügen Sie "-w 120" oder was auch immer hinzu. –