Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: podział wyniku komendy na nowe linie.  (Przeczytany 2995 razy)

marti_btf

  • Gość
podział wyniku komendy na nowe linie.
« dnia: 2016-07-12, 13:25:54 »
Witajcie, mam pewien problem i nie bardzo wiem jak sobie z nim poradzić a mianowicie:

Mam polecenie:

grep Poprawnosc_wykonania_backupu: log.txt -A1 | tail -n1

zwraca mi on cos takiego:

nazwa02test001: OK nazwa01lnx001: FAIL nazwa001ncx002:OK

Chciałbym aby wynik wygladał nastepująco:
nazwa02test001: OK
nazwa01lnx001: FAIL
nazwa001ncx002:OK

Niestety nie bardzo wiem jak to ugryźć... pewnie jakieś wyrażenie regularne lub może sed... ale póki co nic nie wymyslilem co choć o krok by mnie przybliżlo do oczekiwanej przeze mnie formy.



marti_btf

  • Gość
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #1 dnia: 2016-07-12, 14:36:10 »
Hmm chyba udało mi sie rozwiązać problem:

grep Poprawnosc_wykonania_backupu: log.txt -A3| tail -n1| awk '{print $1,$2 "\n" $3,$4 "\n" $5,$6 }'
« Ostatnia zmiana: 2016-07-12, 15:08:00 wysłana przez marti_btf »

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 404
    • Zobacz profil
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #2 dnia: 2016-07-12, 16:34:55 »
Spróbuj jeszcze:
grep Poprawnosc_wykonania_backupu: log.txt -A1 | tail -n1 | xargs -n 2

man xargs
marcin82

marti_btf

  • Gość
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #3 dnia: 2016-07-13, 12:37:41 »
Dziekuje w wolnej chwili sie wczytam w xargs :)

marti_btf

  • Gość
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #4 dnia: 2016-07-13, 12:44:16 »
Aktualnie mam kolejny problem :) :

Vhosty=`grep Poprawnosc_wykonania_backupu: $hosty -A3| tail -n1| awk '{print $1 "\n" $3 "\n" $5 }'`

Czy da sie zapisać jakoś w pętli powyższą komendę, tak aby część awk '{print $1 "\n" $3 "\n" $5 }' sama sie rozszerzała (wg powyższego wzorca) w zależności od tego ile będzie "kolumn" dla danego $hosta???



Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #5 dnia: 2016-07-13, 21:17:43 »
Zlituj się i wklej kawałek tego, co grepujesz w tagi [ code ], bo się jeszcze miesiąc będziemy ganiać...
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

marti_btf

  • Gość
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #6 dnia: 2016-07-14, 08:14:29 »
To co jest w zmiennej $hosty  wyglada tak :
Nazwa_hosta:
avn02test001
Data_sprawdzenia:
07-08-2016_1026
Zajete_miejsce:
/datastore1 98%
Poprawnosc_wykonania_backupu:
avn02test001: OK avn01lnx001: FAIL avn05ncx002:OK

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #7 dnia: 2016-07-14, 11:49:00 »
VHOSTY=$(echo "$hosty" | tail -n1 | sed -e 's/:\s*/:/g' -e 's/ /\n/g')

wynik:

avn02test001:OK
avn01lnx001:FAIL
avn05ncx002:OK
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

marti_btf

  • Gość
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #8 dnia: 2016-07-14, 12:24:10 »
Super, dziekuje, pomogło :) .

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #9 dnia: 2016-07-14, 12:53:21 »
Pomogło, ale to leczenie objawu, nie przyczyny. Bardziej przydatne byłoby poprawienie skryptu generującego te dane tak, aby je łatwiej parsować.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

marti_btf

  • Gość
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #10 dnia: 2016-07-14, 12:55:16 »
Zdaję sobie z tego sprawę, niestety muszę mierzyć siły na zamiary ;) ale oczywiscie jak już wszystko zadziała bede chciał to zoptymalizować ewentualnie zmienić parę rzeczy.