iny vystup da more a iny vim
neviete mi nahodou poradit, ze ako odstranit formatovacie znaky (kebyze viem aspon ako sa volaju) zo suboru? Mam vystup z programu apachetop, ktory sa pekne zobrazuje (prikaz more alebo cat):
last hit: 00:00:00 atop runtime: 0 days, 00:00:00 14:04:43
All: 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req
2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
R ( 1s): 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req
2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
ale ked ho spracuvavam alebo postvem nan vim-ko (alebo dam cat -f), tak sa mi zobrazi takyto:
^[[?1049h^[[1;24r^[(B^[[m^[[4l^[[?7h^[[?1h^[=^[[H^[[2Jlast hit: 00:00:00^[[1;28Hatop runtime: 0 days, 00:00:00^[[1;72H14:04:43^M^[[2d^[(B^[[0;1mAll: 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req^M^[[3d^[(B^[[m2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)^M^[[4d^[(B^[[0;1mR ( 1s): 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req^M^[[5d^[(B^[[m2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)^M^[[7d
Predpokladam ze ide o nejako kodovane formatovanie suboru (bold, tabulatory,...) a zaujimalo by ma ako docielit to, aby som mohol ten subor spracovavat ako ten horny priklad, resp. aspon kebyze ma mozete naviest ze o co ide, tak by som si tie znaky nejako nahradil. Vopred vdaka.
Pre pridávanie komentárov sa musíte prihlásiť.
Inak, ak to chceš na monitoring, nestačilo by nejaké hotové riešenie ako napríklad cacti alebo nagios?
[?1049h
[1;24r
[?7h
[?1h
[2Jlast hit: 00:00:00
[1;28Hatop runtime: 0 days, 00:00:00
[1;72H16:05:21
[0;1mAll: 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req
[m2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
[0;1mR ( 1s): 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req
[m2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
Daju sa nejako odstranit aj tie znaky na zaciatku riadkov? cacti nepouzivam lebo aplikacia musi bezat na viacerych kompoch a tak neviem zabezpecit ze tam cacti bude.
Vdaka
Ohľadne monitoringu vyťaženia cez cacti, nagios alebo iný nástroj. Tak tiež nemáš záruku že tam bude php, apache, htop, apachetop a že tam bude v prípade amd64 aj spetná kompatibilita na x86. A podobne.
A ano, kedze je to app pre Apache servery, tak mam tu istotu ze tam php, apache,... bude, plus tato cast aplikacie bude fungovat ked bude mat uzivatel nainstalovany aj apachetop.
Skusal som aj sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" file > file2
Alebo podla toho tvojho:
cat file -v > lama
sed 's/^[[^a-zA-Z]\+[a-zA-Z]//g' lama
a vyhodilo to nasledovne:
^[[?1049h^[[1;24r^[(B^[[m^[[4l^[[?7h^[[?1h^[=^[[H^[[2Jlast hit: 00:00:00^[[1;28Hatop runtime: 0 days, 00:00:00^[[1;72H18:00:55^M^[[2d^[(B^[[0;1mAll: 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req^M^[[3d^[(B^[[m2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)^M^[[4d^[(B^[[0;1mR ( 1s): 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req^M^[[5d^[(B^[[m2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)^M^[[7d[
Skoda ze strings na to tiez nie su dokonale, ale vysledok som ziskal jeden z najlepsich. Nenapada ta v com robim chybu alebo ako by to bolo lepsie riesit? Vopred diky za odpoved.
Blbé je, že tvoja otázka nedáva zmysel. Snažím sa pochopiť, prečo chceš stále objavovať koleso. Chceš to predávať ako blackbox bez zdrojákov?
Ohľadne zámeny tých riadiacích sekvencií na adresáciu kurzora pre všetky typy terminálov, alebo si spravíš emulátor terminálu ktorý stiahne obsah obrazovky do súboru tak ako je to obrazené. Alebo preprogramuješ apachetop aby to vypisoval natvrdo cez printf.
PS