Barevné formátovaní výstupu příkazů

superman

Barevné formátovaní výstupu příkazů
« kdy: 31. 01. 2017, 07:44:05 »
Kde asi soudruzi z GNU komunity udělali chybu, když základní síťové příkazy (jako netstat, ss nebo route) nejsou schopny formátovat svůj výstup čitelně do tabulky, zejméně když jsou tam IPv6 adresy. Znáte podobné prográmky, které dokážou navíc farební výstup? Něco jako htop. Případně wrapper jako rlwrap.
« Poslední změna: 31. 01. 2017, 08:38:46 od Petr Krčmář »


Re:Barevné formátovaní výstupu příkazů
« Odpověď #1 kdy: 31. 01. 2017, 08:46:52 »
V iproute2 (což je doporučovaný balík utilit na konfiguraci sítě) je parametr -c, který výstup obarví. Je potřeba mít dostatečně novou verzi, je to tam od verze 4.1.0.

A žádní „oni z komunity“ nejsou. Jsi ty, já a další „my“. Takže není na místě nadávat, jak to „my děláme špatně“. Lepší je hledat nebo rovnou programovat, když ti něco chybí.

Pjotr

Re:Barevné formátovaní výstupu příkazů
« Odpověď #2 kdy: 04. 02. 2017, 14:56:13 »
Je to ostuda. Prezentace dat a to formatovani vystupu urcite je, se snad uci jiz na zakladni skole.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Barevné formátovaní výstupu příkazů
« Odpověď #3 kdy: 04. 02. 2017, 16:04:53 »
Je to ostuda. Prezentace dat a to formatovani vystupu urcite je, se snad uci jiz na zakladni skole.

To jo. Hlavne nejdulezitejsi je, aby byly vystupy krasne barevne. To se to pak bude bajecne parsovat ve skriptech, kdyz to bude zasrane nejakymi ANSI sekvencemi.

Re:Barevné formátovaní výstupu příkazů
« Odpověď #4 kdy: 04. 02. 2017, 18:16:21 »
Je to ostuda. Prezentace dat a to formatovani vystupu urcite je, se snad uci jiz na zakladni skole.

To jo. Hlavne nejdulezitejsi je, aby byly vystupy krasne barevne. To se to pak bude bajecne parsovat ve skriptech, kdyz to bude zasrane nejakymi ANSI sekvencemi.

Samozrejme, ze je prezentace dulezita, pokud vysledek konzumuje clovek.
Ve scriptech se to naparsuje naprosto bez problemu, pokud je implementace rozumna. Napriklad defaultni chovani ls na Archu a Ubuntu (a pocitam, ze temer kdekoli jinde): v terminalu pekne obarvickovane a vice jmen na radku. Pri vystupu jinam (roura, redirekce do souboru) zadne ANSI sekvence a co soubor to novy radek.


Re:Barevné formátovaní výstupu příkazů
« Odpověď #5 kdy: 04. 02. 2017, 19:00:51 »
Ve scriptech se to naparsuje naprosto bez problemu, pokud je implementace rozumna. Napriklad defaultni chovani ls na Archu a Ubuntu (a pocitam, ze temer kdekoli jinde): v terminalu pekne obarvickovane a vice jmen na radku. Pri vystupu jinam (roura, redirekce do souboru) zadne ANSI sekvence a co soubor to novy radek.
Tohle chování, kdy se výstup mění podle toho, co ukáže křišťálová koule, mi dost vadí. Jsem mnohem radši, když se to určuje nějakým přepínačem a program se nepokouší nic hádat. Protože pak píšu skript, potřebuju vidět, jak výstup vypadá, abych ho mohl rozparsovat, a musím hledat, jak dostat na terminál stejný výstup, jako dostávám ve skriptu. Nebo se naopak v terminálu vše hezky obarvuje, přidám | less a barvy jsou pryč, protože program zjistil, že výstup nejde na terminál ale do roury.

Re:Barevné formátovaní výstupu příkazů
« Odpověď #6 kdy: 04. 02. 2017, 19:21:46 »
Ve scriptech se to naparsuje naprosto bez problemu, pokud je implementace rozumna. Napriklad defaultni chovani ls na Archu a Ubuntu (a pocitam, ze temer kdekoli jinde): v terminalu pekne obarvickovane a vice jmen na radku. Pri vystupu jinam (roura, redirekce do souboru) zadne ANSI sekvence a co soubor to novy radek.
Tohle chování, kdy se výstup mění podle toho, co ukáže křišťálová koule, mi dost vadí. Jsem mnohem radši, když se to určuje nějakým přepínačem a program se nepokouší nic hádat. Protože pak píšu skript, potřebuju vidět, jak výstup vypadá, abych ho mohl rozparsovat, a musím hledat, jak dostat na terminál stejný výstup, jako dostávám ve skriptu. Nebo se naopak v terminálu vše hezky obarvuje, přidám | less a barvy jsou pryč, protože program zjistil, že výstup nejde na terminál ale do roury.

napriklad u ls --color=[always|auto|never] nebo $LS_COLORS a obdobne pro formatovani...

Ono tady neexistuje "spravne" reseni, je to o tom, jaky kompromis navrhar udela. ls proste slo neunixovou cestou a dela vic veci naraz (vyrabi seznam i ho formatuje. Ve sve podstate to neco rika i o tom, jak moc je cesta unixu ve sve extremni podobe pouzitelna).

nazir

  • ***
  • 110
  • Veni, vidi, discessi.
    • Zobrazit profil
    • hic sunt elephanti
Re:Barevné formátovaní výstupu příkazů
« Odpověď #7 kdy: 08. 02. 2017, 00:41:34 »
Co třeba dát si generic colouriser for everything...?

Re:Barevné formátovaní výstupu příkazů
« Odpověď #8 kdy: 08. 02. 2017, 09:25:58 »
... Znáte podobné prográmky, které dokážou navíc farební výstup? Něco jako htop. Případně wrapper jako rlwrap.

grep
https://www.gnu.org/software/grep/manual/grep.html#index-_002d_002dcolour

Ale samozřejmě, jak jde výstup do pajpy, barvičky mizí...

j

Re:Barevné formátovaní výstupu příkazů
« Odpověď #9 kdy: 08. 02. 2017, 09:43:10 »
Kde asi soudruzi z GNU komunity udělali chybu, když základní síťové příkazy (jako netstat, ss nebo route) nejsou schopny formátovat svůj výstup čitelně do tabulky, zejméně když jsou tam IPv6 adresy. Znáte podobné prográmky, které dokážou navíc farební výstup? Něco jako htop. Případně wrapper jako rlwrap.

Kdepak asi udelal soudruh chybu, kdyz pouziva nejmin 10 let zavrzeny commandy chmm ...

aaa

Re:Barevné formátovaní výstupu příkazů
« Odpověď #10 kdy: 08. 02. 2017, 09:46:02 »
... Znáte podobné prográmky, které dokážou navíc farební výstup? Něco jako htop. Případně wrapper jako rlwrap.

grep
https://www.gnu.org/software/grep/manual/grep.html#index-_002d_002dcolour

Ale samozřejmě, jak jde výstup do pajpy, barvičky mizí...
--colour=always a nezmiznu, ale pri spracovani budu prekazat.

Re:Barevné formátovaní výstupu příkazů
« Odpověď #11 kdy: 08. 02. 2017, 10:00:57 »
... Znáte podobné prográmky, které dokážou navíc farební výstup? Něco jako htop. Případně wrapper jako rlwrap.

grep
https://www.gnu.org/software/grep/manual/grep.html#index-_002d_002dcolour

Ale samozřejmě, jak jde výstup do pajpy, barvičky mizí...
--colour=always a nezmiznu, ale pri spracovani budu prekazat.

Reknes explicitne prikazu, at udela neco hloupeho, a prikaz udela neco hloupeho. Nehledal bych problem v prikazu...

Grc

Re:Barevné formátovaní výstupu příkazů
« Odpověď #12 kdy: 08. 02. 2017, 10:52:42 »
Co třeba dát si generic colouriser for everything...?

grc je super! Jenom nechapu proc tu strkate verzi pro jakysi obskurni unix jmenem debian.. Takze pro normalni lidi s macOS:

Kód: [Vybrat]
brew install grc
a pak se uz muzete vyfarbit:

Kód: [Vybrat]
grc ls -l
grc ps
grc ping google.com
grc tail /var/log/system.log

MP

Re:Barevné formátovaní výstupu příkazů
« Odpověď #13 kdy: 08. 02. 2017, 11:22:12 »
Kde asi soudruzi z GNU komunity udělali chybu, když základní síťové příkazy (jako netstat, ss nebo route) nejsou schopny formátovat svůj výstup čitelně do tabulky, zejméně když jsou tam IPv6 adresy. Znáte podobné prográmky, které dokážou navíc farební výstup? Něco jako htop. Případně wrapper jako rlwrap.

Kdepak asi udelal soudruh chybu, kdyz pouziva nejmin 10 let zavrzeny commandy chmm ...

Tak zrovna ss z te jmenovane skupiny je naopak nahrada netstatu, ale zakladni vypis je oproti netstatu fakt opruz, nejenze je to roztahnute na celou obrazovku terminalu, dokonce pokud je predposledni sloupec "sirsi", tak se posledni sloupec preleva do dalsiho radku?!?!?!!!!!!!

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Barevné formátovaní výstupu příkazů
« Odpověď #14 kdy: 09. 02. 2017, 18:20:30 »
Me by zajimalo, v kterem vyprodeji kupuji nazvy pro tyhlety utility. Same uzasne dvoupismenne nazvy, aby se nam to nepletlo a lepe pamatovalo. A idealne je  tomu vzdycky aspon 50 parametru, ktere z toho udelaji pokazde vlastne uplne jinou utilitu.

A k ss ani v manualu nepisi, co to znamena: ss - another utility to investigate sockets. Takze to asi ani neni zkratka neceho, co by si clovek pamatoval, mozna to ma byt na pamatku autorova dedecka, ktery valcil s jednotkami ss nebo naopak v nich.