Nowe posty

xx Przy uploadzie przerywane są wszystkie połączenia (9)
2020-06-01, 20:13:01
xx Apache2 i twarde https (3)
2020-05-25, 15:53:43
xx Czy istnieje emulator terminala który zapamieta komendy na jakiejś liście? (9)
2020-05-23, 17:04:57
xx RTLinux wybór dystrybucji (0)
2020-05-23, 15:42:54
xx Problem z instalacją Ubuntu na bootowalnym pendrajwie (9)
2020-05-22, 15:08:12
xx Ubuntudde 20.04 LTS nie działa Lightdm (8)
2020-05-22, 09:16:42
xx [Gra za darmo] GTA5 (1)
2020-05-20, 21:49:26
xx Marketing (1)
2020-05-13, 08:00:41
xx Polecenia Debian (1)
2020-05-10, 19:58:54
xx Uruchamianie pliku z każdego katlogu (2)
2020-05-10, 19:23:33

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

Offline marti_btf

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
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.



Offline marti_btf

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
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: 316
    • 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

Offline marti_btf

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
Odp: podział wyniku komendy na nowe linie.
« Odpowiedź #3 dnia: 2016-07-13, 12:37:41 »
Dziekuje w wolnej chwili sie wczytam w xargs :)

Offline marti_btf

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
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: 2599
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
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
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline marti_btf

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
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: 2599
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
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
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline marti_btf

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
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: 2599
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
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
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline marti_btf

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
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.