
atsiv
Stały użytkownik-
Postów
149 -
Dołączył
-
Ostatnia wizyta
Treść opublikowana przez atsiv
-
Bash + Zenity - skrypty bash w trybie graficznym
atsiv odpowiedział(a) na atsiv temat w Linux, BSD, Unix i inne
Hmm.. jeśli nie wstawię tekstu i kliknę na to pole, to sortuje wpisy na liście alfabetycznie, właśnie to mi przeszkadza trochę, bo chciałbym, aby przynajmniej on nie działał skoro nie da się go usunąć. -
Bash + Zenity - skrypty bash w trybie graficznym
atsiv opublikował(a) temat w Linux, BSD, Unix i inne
Ostatnio postanowiłem pisać skrypty w bashu, który będzie wyświetlać okienka w trybie graficznym. Za wszystko odpowiada zenity i utworzyłem coś podobnego jak na obrazku: http://rafal.drezek.info/wp-content/uploads/2009/05/okienko-wyboru.jpg Wszystko fajnie, wszystko działa, ale denerwuje mnie ten pasek wybierz/odpowiedź. Czy da się go jakoś usunąć lub zablokować, ponieważ gdy kliknę np. na odpowiedź, wszystkie opcje są sortowane alfabetycznie, a ja nie chcę żeby tak mi się robiło. Wie ktoż może, bo nie mogę znaleźć nic na ten temat? -
Tworzenie paczek DEB z zależnościami oraz metapaczek
atsiv odpowiedział(a) na atsiv temat w Linux, BSD, Unix i inne
Dzięki, poradzę sobie już. -
Tworzenie paczek DEB z zależnościami oraz metapaczek
atsiv opublikował(a) temat w Linux, BSD, Unix i inne
Kompilowanie programów i tworzenie paczek DEB przy użyciu Checkinstall mam już za sobą. Teraz chciałbym dowiedzieć się jak zbudować paczkę, która pociągnie za sobą zależności? Też chciałbym dowiedzieć się jak tworzyć metapaczki, które zainstalują wybrane przeze mnie programy oraz wprowadzą nowe ustawienia dla systemu? -
Czyli tutaj coś źle robię i nie bardzo wiem jak powinno być dobrze ;)
-
Wziąłem się za naukę seda i już łapię coraz więcej, ale są jeszcze rzeczy, których pojąć nie mogę... Załóżmy, że mam plik, w którym znajdują się kilka linijek: ___________ mint ... mint ... ubuntu edgy ubuntu feisty ... ... ubuntu jaunty ___________ Chciałbym, aby sed pokazał wszystkie linijki tam gdzie występuje wyraz ubuntu oraz kasował cała linijkę ubuntu jaunty, ponieważ teraz mam uruchomiony ten system u siebie. 1 metoda jest dla mnie jasna: ^sed '/^ubuntu/!d;/'`lsb_release -cs`'/d' Chciałem to samo osiągnąć tyle, że druga metodą: ^sed -n '/^ubuntu/p' ^sed -n '/'`lsb_release -cs`'/!p' Gdy z dwóch poleceń zrobię jedno: ^sed -n '/^ubuntu/p;/'`lsb_release -cs`'/!p' sed pokazuje wtedy pokazuje taki wynik: ___________ mint ... mint ... ubuntu edgy ubuntu edgy ubuntu feisty ubuntu feisty ... ... ubuntu jaunty ___________ Co źle robię, ponieważ z założenia mój końcowy wynik tak powinien wyglądać: ___________ ubuntu edgy ubuntu feisty ... ... ___________
-
Czemu, już się zmienia tytuł tematu na bardziej odpowiedni ;) Właśnie powoli uczę się tego seda i powoli zaczynam coraz więcej kumać ;) Mam nadzieję, że któregoś dnia TIR za to podrzuci Tobie kratę browarów bo jest za co dziękować ;)
-
No dzięki :) teraz naprawdę zaczynam już łapać o co tu lotto ;) Jeszcze zadałbym ostatnie pytanie, da się zrobić w sedzie, aby: tekst1 tekst2 tekst3 był wyświetlany w jednym wierszu: teskt1 tekst2 tekst3? Na tygodniu będę miał trochę czasu i wezmę się ostro za seda, bo już wszystko jaśniej widzę ;) jeszcze raz wielkie dzięki.
-
Masz na myśli, np. ten przykład i to s? >cat /file | sed -n '{N;N;:nxtln;N;P;s_^[^\n]*\n__;b nxtln}' Z ciekawości co oznaczają: :nxtln; s_; n__? >sed 's/kot//' usuwa mi tylko wyraz z wiersza, a nie cały wiersz... jeszcze muszę się pouczyć
-
Wpadłem na taki pomysł, aby odwrócić tekst: >sed '1!G;h;$!d' plik Działa, ale zastanawiam się dlaczego na końcu tworzy mi się pusta linijka oraz gdy chce usunąć dwa pierwsze wiersze nie mogę coś: >sed '1!G;h;$!d;1,2d;/^$/d' plik Moim zdanie wydaje się być dobrze, no chyba, że coś źle załapałem. Usuwa dwie ostatnie linijki: >sed 'N;$!P;$!D;$d' A jak dam: >sed 'N;$!P;$!D;$d;3,4d' Nie chce usunąć dodatkowo 3,4 linijkę. Jak dla mnie staje się skompilowany ten sed :P
-
Tzn. zaciekawił mnie ten sed i po prostu się nim bawię ;) Można uznać, że tworzę większy program, ale dla siebie i dla zabawy ;) Tak ja pisałem wcześniej N;$!P;$!D;$d kasuje dwie ostatnie linijki. Teraz próbuje to uname -s zintegrować z tamtym, aby oprocz kasowania dwoch linijek, kasował jeszcze to co pokaze wynik uname -s ;) Póki co nie wychodzi mi...
-
yyy tak, tak ;)
-
Nie żle ;) Już łatwiej do tego celu będzie użyć tail ;) sed plik 'N;$!P;$!D;$d' W ten sposób poleciały dwie ostatnie linijki :P A tak na marginesie bo z tego co widzę wszystko oddziela się przecinkami z kropką. Co zrobić aby N;$!P;$!D;$d był traktowany jako całość, jedność? Załóżmy, że po $d zamierzam coś dodać jeszcze, ale już nie będzie pasowało do tamtego, tylko jako dalej.
-
I znowu mam problem... jeśli: >cat /file | sed '1,3d' sed wykasuje od 1 do 3 wierszy. Ale nie mogę poradzić sobie z tym, aby usunął ostatnie 3 wiersze...
-
Ok, wezmę, wezmę :) Właśnie znalazłem kilka też po polsku, m.in. na stronie Gentoo, ale potrzebuje na to czasu, aby go zrozumieć. Wiedziałem jak usunąć 1 linijkę (1d), ale ostatniej nie mogłem coś...
-
Czy da sie zrobić, aby sed usuwał ostatnia linijkę w pliku?
-
Hmm... dzięki ;) pomalutku coraz jaśniejszy robi mi się ten sed ;) problem polega jeszcze na tym, że nie do końca wiem po co są te [ ], [^ ], ukośniki itd., ale jak znajde czas to pewnie doczytam o tym jeszcze w google. Przy wykorzystaniu awk końcowy wynik jest second: echo "first second third" | awk '{print $2}' Pewnie to samo można osiągnąć poprzez sed, tylko ciekawe jak ;)
-
Ja zanim załapie seda upłynie trochę wody w Wiśle. Mógłbyś podpowiedzieć jak zrobić za pomocą seda, aby zamiast liczył litery, dopiero wtedy stawiał kropkę na końcu pojedynczego wyrazu w wierszu oraz jak zrobić, aby w wierszu, w którym znajdują się dwa wyrazy pokazywał tylko pierwszy lub usuwał drugi?
-
Ponownie dzięki ;) Tak z ciekawości, czy sed umiałby na końcu wyrazu postawić kropkę zamiast liczyć litery (w jednym wierszu znajduje się jeden wyraz)?
-
O dzieki ;) No coz na razie ucze sie robic skrypty i zanim zaczne wiecej umiec minie jeszcze ;) Jesli chpodzi o sed, racja, jest on straszna potega Hmmm... a jeszcze jedno pytanie i byc moze na jakis czas ostenie ;) Zalozmy, ze cat pokazuje 8 wierszy wyrazow. chciabym, aby skrypt pomijal jeden wyraz, np. czerwony i pokazywal tylko 7... Pewnie tak tez da sie zrobic.
-
A powiedzmy, żeby stawiał kropkę po 30 znakach? Bo to w sumie już byłoby realne...
-
Jeszcze jedno pytanie... Załóżmy, że ''cat plik'' wyświetla kilkadziesiąt zdań, które nie są zakończone żadnymi znakami interpunkcyjnymi. Chciałbym, aby skrypt pododawał te kropki na końcu zdań, czy wie ktoś jak to zrobić?
-
Fakt, masz rację. No cóż nie jestem najlepszy z angielskiego i zrozumiałem manuala do końca, ale dzięki. Mam pytanko ostatnie jeszcze. Załóżmy, że utworzyłem skrypt z 10 linijek i chciałbym, aby te 10 linijek powtórzył dwa razy, czy da się tak? wIEM, ŻE MOŻNA ZROBIĆ TAK: 10 + 10, ALE NIE BĘDZIE TO ZA ŁADNIE WYGLĄDAĆ ;)
-
O tym to akurat wiem (man nazwa_aplikacji) ;) Wytłumaczę może jeszcze raz co chciałem osiągnąć, ponieważ nie o to mi chodziło. Gdy aptitude pobierze paczki i zacznie je instalować czasami może wyskoczyć pytanie czy chcemy nadpisać lub zostawić stary plik konfiguracyjny. Jest do wyboru tak/nie/domyślnie. Czy da się zrobić, aby użytkownik zamiast odpowiadał na te pytanie, robiło sie automatycznie.
-
OK ;) Jeszcze jedno pytanie. Gdy do instalacji niektorych pakietow uzywam Apt-get lup Aptitude wyskakuje pytanie czy napdpisac nowy plik konfiguracyjny na stary... Jest do wyboru tak, nie oraz domyslnie. Czy da sie zrobic tak, aby menedzer pakietow automatycznie odpowiadal na pytania bez udzialu usera, czyli sam wybieral opcje domyslnie?