Próbuję sformatować listę wpisów w bashu i używam komendy column
. Jednak opcja -t
domyślnie używa dowolnego odstępu jako separatora, który nie działa dla posiadanych danych (zawiera spacje i tabulatory). Nie mogę się dowiedzieć, jak uzyskać flagę -s
, aby określić znak nowego wiersza jako jedyny ogranicznik kolumny.Formatowanie list za pomocą polecenia column w * nix
Odpowiedz
Teoretycznie, aby określić nową linię, można użyć notacji $'...'
, który jest podobnie jak '...'
wyjątkiem, że obsługuje stylu C Escape-sekwencje:
column -t -s $'\n' list-of-entries.txt
Jednak ja naprawdę nie rozumiem Celem tego. Nowej linii jest separator rzędzie tak kolumny Delimiter $'\n'
odpowiada nie mając kolumnowej separatora w ogóle:
column -t -s '' list-of-entries.txt
co oznacza, że wejście będą traktowane jako posiadające tylko jedną kolumnę; więc jest to odpowiednik nie używając column
w ogóle:
cat list-of-entries.txt
Wydaje się, że rzeczywiście nie chcesz użyć flagi -t
, ponieważ celem flaga -t
jest zapewnienie, że każdy wiersz wejścia staje jedna linia wyjścia i nie brzmi tak, jak tego chcesz. Zgaduję, chcesz to:
column list-of-entries.txt
która będzie traktować każdą linię list-of-entries.txt
jako wartość należy umieścić w jednej komórce tabeli tej column
wyjść.
Świetne wyjaśnienie z pełnym zrozumieniem prawdziwego problemu napotkanego przez pytającego! – YaOzI
Uderzasz to w głowę! Dzięki za wspaniałe wyjaśnienie! –
Działa to na wyjściu ładny wersji wydrukowanej karcie rozdzielany plik
column -t -s $'\t' list-of-entries.txt
- 1. Zbuduj prostą bibliotekę haskell za pomocą nix
- 2. Wyczyść zawartość i formatowanie komórki Excel za pomocą pojedynczego polecenia.
- 3. Formatowanie SSN za pomocą String.format
- 4. Formatowanie warunkowe za pomocą VBA
- 5. Formatowanie za pomocą opcji [String] w Scali
- 6. Niestandardowe formatowanie ramek LaTeX (beamer) w Vimie za pomocą polecenia gq
- 7. Przejrzystość za pomocą polecenia wieloboków
- 8. Formatowanie warunkowe pliku Excel za pomocą ColdFusion
- 9. Formatowanie kodu źródłowego programowo za pomocą JDT
- 10. Formatowanie dużych liczb za pomocą .NET
- 11. Formatowanie numeru telefonu za pomocą Twig
- 12. Formatowanie serializacji kontrolek GSON za pomocą adnotacji
- 13. Czy istnieje narzędzie wiersza polecenia * nix do sprawdzania buforów protokołów?
- 14. Notepad ++ za pomocą polecenia "Uruchom" w makrze
- 15. sortowanie za pomocą wielu kluczy za pomocą polecenia sortowania Linuksa
- 16. wyświetlają wszystkie tabele w DB2 za pomocą polecenia LISTA
- 17. Wykonywanie polecenia wsadowego za pomocą zadania SSIS
- 18. Jak wyłączyć utrwalanie za pomocą polecenia redis?
- 19. Przekierowanie wyjścia za pomocą polecenia "ekran"
- 20. Lokalne przetwarzanie za pomocą polecenia grep
- 21. Wysyłanie polecenia do przetwarzania za pomocą/proc
- 22. Uruchom kontener kernernetes za pomocą specjalnego polecenia:
- 23. Zaimportuj projekt zaćmienia za pomocą wiersza polecenia
- 24. Grafit: wiele serii za pomocą pojedynczego polecenia
- 25. Pomiń sprawdzanie formularza za pomocą przycisku polecenia
- 26. Konwertowanie grafiki za pomocą polecenia ExportString
- 27. Dopasuj konkretną kolumnę za pomocą polecenia grep
- 28. Jak korzystać z ioctl nix?
- 29. Sprawdzanie składni dla JavaScript za pomocą polecenia
- 30. Jak telnet Google za pomocą wiersza polecenia?
można po kilka próbek wejście i wyjście? –
Należy zauważyć, że 'kolumna' jest dostępna w systemie Linux (i na Mac OS X 10.7.4). To niekoniecznie jest dostępne w innych wariantach Uniksa; na przykład nie jest standaryzowany przez POSIX. –
Jeśli chcesz 3 kolumny wyjściowe, 'pr -l 1 -t -3' bardzo zbliży się do tego, co chcesz, aby' column' wytworzyć. Dla N kolumn, zmień 3 na N; aby określić szerokość, dodaj '-w 120' lub cokolwiek innego. –