Strona 1 z 1

formatowanie wyniku polecenia (tekst)

: 03 października 2017, 10:26
autor: aksnet
Witam

pewnie polecenie zwraca mi wynik w postaci:

Kod: Zaznacz cały

no;flooding_bridge_port_enable;bp15;bp14;bp13;bp12;bp11;bp10;bp9;bp8;bp7;bp6;bp5;bp4;bp3;bp2;bp1;bp0;bc_meter_enable;bc_meter_id;mc_meter_enable;mc_meter_id;uuc_meter_enable;uuc_meter_id
0;49;127;127;127;127;127;127;127;127;127;127;4;2;127;127;127; ; ; ; ; ; ;
1;112;127;127;127;127;127;127;127;127;127;6;3;1;127;127;127;127; ; ; ; ; ;
2; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
3; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
4; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
5; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
6; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
7; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
Chciałbym sformatować ten wynik tak aby dane były jedne pod drugimi w kolumnach (łatwiejsze do odczytu przez człowieka)

jest do tego jakiś program/metoda która to sformatuje, czy muszę w tym celu napisać skrypt?


Drugie pytanie niezwiązane z tematem
Chciałbym napisać skrypt do którego zostanie przekazany wynik polecenia
np. w taki sposób:

Kod: Zaznacz cały

ls | skrypt.sh
w jaki w sposób w skrypt.sh odczytać to co zostało przekazane/przekierowane z ls?

Re: formatowanie wyniku polecenia (tekst)

: 03 października 2017, 10:49
autor: dedito
Sposobów jest wiele.
Formatowanie wyników wskazuje, że średnik jest używany do separacji komórek z danymi.
Dane można zaciągnąć do excela czy innego programu kalkulacyjnego.
Do bardziej ludzkiego podglądu w konsoli/terminalu można spróbować średniki zmienić na tabulatory (np. przy pomocy sed).
Można też użyć awk, który sam sformatuje dane w kolumny.

Na drugie pytanie załóż osobny wątek.

Re: formatowanie wyniku polecenia (tekst)

: 03 października 2017, 10:52
autor: aksnet
Potrzebuję to sformatować na Linuksie w trybie tekstowym. Excell odpada.

Re: formatowanie wyniku polecenia (tekst)

: 03 października 2017, 10:56
autor: dedito
Na Linuksie też są "excele", pisałem o dowolny edytorze kalkulacyjnym, który potrafi importować dane z plików.
Do trybu tekstowego (jak mnieniam chodzi o terminal) masz już wskazówki w poprzedniej wiadomości.

Re: formatowanie wyniku polecenia (tekst)

: 03 października 2017, 11:08
autor: aksnet
Dokładnie chodzi o openwrt. Tu nie zainstalujesz excella :)

To musi być robione skryptem.

Re: formatowanie wyniku polecenia (tekst)

: 03 października 2017, 11:12
autor: dedito
Niekoniecznie skryptem, jak już pisałem wynik można przekierować do awk lub sed.
Można sobie nawet stworzyć do tego odpowiedni alias, żeby nie klepać za każdym razem "tasiemców".
Oczywiście skrypt też można zrobić, ale dla jednej linijki robienie skryptu w moim odczuciu jest jak wytaczanie armaty żeby ustrzelić muchę.

Re: formatowanie wyniku polecenia (tekst)

: 03 października 2017, 11:20
autor: aksnet
Zamiana średników na tabulatory nie rozwiązuje sprawy.
Niektóre nazwy są na tyle długie, że kolumny się rozjeżdżają.

może podasz jakiś przykład z awk? (albo jak do tego podejść z poziomu awk)

Re: formatowanie wyniku polecenia (tekst)

: 03 października 2017, 11:23
autor: dedito
Awk umożliwia sterowanie szerokościami kolumn (patrz manual lub link).
https://www.gnu.org/software/gawk/manua ... mples.html