|
Wycinanie pierwszego znaku z linii (Bash)
grze_S - 07-08-2008 15:53
Witam. Próbuję zrobić polecenie które umożliwiło by mi wycięcie pierwszego znaku z ostatniej linii wyjścia polecenia (potrzebuje go do skryptu), a dokładniej aby po wpisaniu: aptitude download cos //pakietu 'cos' nie ma w repozytoriach
otrzymać tylko literkę 'E'. Całe wyjście wygląda w tym przypadku tak:
Próbowałem to zrobić przy pomocy polecenia:
aptitude download cos | grep ^E | cut -b 1
lecz niestety nie działa (otrzymuję całą ostatnią linię; działa jednak przy wyświetlaniu plików poleceniem cat).
Jeśli ktoś mógłby mi pomóc byłbym wdzięczny. ;-)
jedi1 - 07-08-2008 22:51
aptitude download cos 2>&1| grep ^E | cut -b 1
aptitude wywala na stderr, pipe dziala dla stdout
grze_S - 07-08-2008 23:45
Dzięki jedi1 :-) W sumie poradziłem już sobie w inny sposób (wprawdzie gorszy i dłuższy, ale też działa ;-) ): najpierw przekierowałem wyjście błędu aptitude do pliku
aptitude download cos 2> .plik
a potem potraktowałem to cutem:
cat .plik | cut -b 1
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|