Hagal
bardzo bardzo dziękuję,
i jeszcze jedno pytanko, ale może "umaluję" je na końcu posta.
No więc tak -
dpgk -l wyświetlając coś na ekranie pokazuje również nagłówek :
Kod: Zaznacz cały
Wybór=U=Nieznany/I=Instalacja/R=Usunięcie/P=Wyczyszczenie/H=Zatrzymanie
| Stan=N=Brak/I=Zainst./C=Skonfig./U=Rozpakowany/F=Nieskonfig./H=Wpół-zainst.
|/ Błędy?=(brak)/H=Wstrzym./R=Do przeinst./X=Obydwa (Stan,Błędy:wielk.lit.=źle)
||/ Nazwa Wersja Opis
+++-=================-=================-=====================
który mnie osobiście w tym konkretnym przypadku nie jest do szczęścia potrzebny. Więc nie wypadało mi nic innego zrobić jak tylko z lekka zmodernizować Twój mini skrypcik :-) no i wyszło mi coś takiego (w tej wersji zmieniła się tylko
paczka)
Kod: Zaznacz cały
paczka="$(dpkg -l | awk '{print $2}' | tail -n +6)
no i mam to co chciałem, czyli sam spis pakietów bez w/w nagłówka. No ale nie byłbym sobą gdybym nie spróbował jeszcze coś "namieszać" i efekt jest taki :
Kod: Zaznacz cały
paczka="$(dpkg -l | awk '{print $2}')"
for x in $paczka; do
apt-cache show "$x" | sed -e '1,5d' | sed '/Filename:/!d;{s/.*\///}' >> /tmp/spis-deb
done
dodałem :
sed -e '1,5d'
Czas już na pytanie - co faktycznie namieszałem ?
Przy tej drugiej wersji również w pliku mam to co chciałem, czyli to pytanie jest takie czysto teoretyczne ale może na przyszłość się przyda ? Chodzi o to że oprócz tego co chciałem mam na ekranie (to nie jest zapisywane do pliku) taki oto dodatek:
Kod: Zaznacz cały
W: Nie udało się odnaleźć pakietu Stan=N=Brak/I=Zainst./C=Skonfig./U=Rozpakowany/F=Nieskonfig./H=Wpół-zainst.
E: Nie znaleziono żadnych pakietów
W: Nie udało się odnaleźć pakietu Błędy?=(brak)/H=Wstrzym./R=Do
E: Nie znaleziono żadnych pakietów
W: Nie udało się odnaleźć pakietu Nazwa
E: Nie znaleziono żadnych pakietów
jang@ramireza:~$ ~/deb-spis1
W: Nie udało się odnaleźć pakietu Stan=N=Brak/I=Zainst./C=Skonfig./U=Rozpakowany/F=Nieskonfig./H=Wpół-zainst.
E: Nie znaleziono żadnych pakietów
W: Nie udało się odnaleźć pakietu Błędy?=(brak)/H=Wstrzym./R=Do
E: Nie znaleziono żadnych pakietów
W: Nie udało się odnaleźć pakietu Nazwa
E: Nie znaleziono żadnych pakietów
jang@ramireza:~$ ~/deb-spis1
W: Nie udało się odnaleźć pakietu Stan=N=Brak/I=Zainst./C=Skonfig./U=Rozpakowany/F=Nieskonfig./H=Wpół-zainst.
E: Nie znaleziono żadnych pakietów
W: Nie udało się odnaleźć pakietu Błędy?=(brak)/H=Wstrzym./R=Do
E: Nie znaleziono żadnych pakietów
W: Nie udało się odnaleźć pakietu Nazwa
E: Nie znaleziono żadnych pakietów
Absolutnie poprawny wynik uzyskałem po wprowadzeniu obydwu poprawek jednocześnie tzn:
Kod: Zaznacz cały
#!/bin/bash
echo -n > /tmp/spis-deb
paczka="$(dpkg -l | awk '{print $2}' | tail -n +6)"
for x in $paczka; do
apt-cache show "$x" | sed -e '1,5d' | sed '/Filename:/!d;{s/.*\///}' >> /tmp/spis-deb
done
ale czy aby napewno muszą być obydwie czy też coś dałoby się poprawić tylko w pętli ?
Pozdrowienia