Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
marcin_nicram
Piegowaty Guziec
Piegowaty Guziec
Posty: 3
Rejestracja: 15 lip 2011, 15:15
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Post autor: marcin_nicram »

Witam wszystkich, jestem nowym userem więc jeśli piszę w złym miejscu (bo np. powinienem pisać w przedszkolu ) to proszę o wyrozumiałość oraz informację na ten temat.
Do rzeczy:
Jestem szczęśliwym użytkownikiem Ubuntu 10.4 64-bit. Potrzebuję skryptu który będzie uruchamiany z parametrem/argumentem (owym argumentem będzie ścieżka np. /home/stasio/) w związku z czym postanowiłem go napisać :-).

Wymagania:

Wywołanie skryptu np. ./skrypt /home/stasio/ XXX czyli ./[nazwa_skryptu] [ścieżka] [nazwa_folderu]
1) Wyszukanie folderów o nazwie np. XXX
2) Wypisanie znalezionych folderów XXX na ekranie (zwykłe wylistowanie po find)
2a)/znalezione chciałbym aby były wyświetlone na zielono/
3) Usunięcie znalezionych folderów XXX oraz wypisaniu operacji na ekranie (rm -rf)
3a)/usunięte chciałbym aby było wyświetlone na czerwono/

Dopiero uczę się pisać skrypty więc proszę o wyrozumiałość:
aktualnie mam taki kod:

Kod: Zaznacz cały

#!/bin/bash

echo "Skrypt testowy!"
echo "---------------"

cd /
cd $1

WHERE=`pwd`
echo "Searching in: $WHERE"

#Wypisywanie znalezionych folderow
FIND_FOLDERS_NAMES=`find $1 -name 'XXX' -type d`
echo "$FIND_FOLDERS_NAME"
Wnioski:
Gdy uruchomię skrypt zawiesza się on na szukaniu folderów w taki sposób:

root@stasio-desktop:~# ./skrypt
Skrypt testowy!
---------------
Searching in: /home/amdc519
<- mija troche czasu około 2 min.
root@stasio-desktop:~#


Dodam jeszcze, że w tym miejscu jest bardzo dużo różnych folderów ale XXX są na 100%. Będę wdzięczny za pomoc.
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Re: Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Post autor: macer »

Hehe, literówka :)
Poprawione i działa :)

Kod: Zaznacz cały

#!/bin/bash

echo "Skrypt testowy!"
echo "---------------"

cd /
cd $1

WHERE=`pwd`
echo "Searching in: $WHERE"

#Wypisywanie znalezionych folderow
FIND_FOLDERS_NAMES=`find $1 -name 'XXX' -type d`
echo "$FIND_FOLDERS_NAMES"
Te najprostsze błędy są zawsze najtrudniejsze :P

Zrobiłem w pełni funkcjonalną wersję, znajdziesz ją tu ;)
A tu screenik: Obrazek
marcin_nicram
Piegowaty Guziec
Piegowaty Guziec
Posty: 3
Rejestracja: 15 lip 2011, 15:15
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Post autor: marcin_nicram »

Witam,
wow serdeczne dzięki Twój skrypt jest (jak na moje możliwości) wypasiony :D. Postaram się go dziś trochę przerobić i wkleję efekty.

Pozdrawiam :D
Marcin.

-- 18 sie 2011, o 11:10 --

Witam,
mam jedno pytanie odnośnie ogólnie skryptów: W jaki sposób mogę zrobić coś takiego aby nazwa skryptu była rozpoznawana w całym systemie tzn. chodzi mi o taka sytuację, że: Mój skrypt nazywa się tak jak wyżej "naszskrypt" wpisuje "naszs" wciskam TAB i nazwa jest dopełniana :-) ?

Pozdrawiam.

-- 18 sie 2011, o 13:10 --

Kolejny problem :-)

Mianowicie... poprawiłem literówkę ale mój skrypt nadal nie działa poprawnie. Dla przetestowania obok swojego wstawiłem skrypt autorstwa macera i oto efekt działania najpierw mojego a później jego skryptu w tym samym miejscu:
------------------------------------------------------------------------------------------------
root@amdc519-desktop:~# ./naszskrypt /home/amdc519/P4/GINGER/ AAA
Skrypt testowy!
---------------
Searching in: /home/amdc519/P4/GINGER

root@amdc519-desktop:~# ./skrypt /home/amdc519/P4/GINGER/ AAA
Skrypt testowy!
---------------
Szukam w : /home/amdc519/P4/GINGER/
/home/amdc519/P4/GINGER/AAA
Łącznie znalezionych folderkóf: 1
Czy usunąć te foldery?
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Re: Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Post autor: macer »

Kod: Zaznacz cały

    #!/bin/bash

    echo "Skrypt testowy!"
    echo "---------------"

    cd /
    cd $1

    WHERE=`pwd`
    echo "Searching in: $WHERE"

    #Wypisywanie znalezionych folderow
    FIND_FOLDERS_NAMES=`find $1 -name $2 -type d`
    echo "$FIND_FOLDERS_NAMES"
Sory, nie wiem jak mogłem przeoczyć taki błąd.
Zostawiłem 'XXX' w kodzie zamiast dać $2 - czyli drugi podany argument.

-- 20 sie 2011 23:01 --
Witam,
mam jedno pytanie odnośnie ogólnie skryptów: W jaki sposób mogę zrobić coś takiego aby nazwa skryptu była rozpoznawana w całym systemie tzn. chodzi mi o taka sytuację, że: Mój skrypt nazywa się tak jak wyżej "naszskrypt" wpisuje "naszs" wciskam TAB i nazwa jest dopełniana :-) ?
1.Możesz skopiować plik do /usr/bin ;)
albo 2. Możesz dodać folder w którym się znajduje skrypt do PATH czyli jeśli dobrze pamiętam to polecenie wygląda jakoś tak: "export PATH=$PATH:/home/folderik/bleble"

Ale lepiej IMO skopiować do /usr/bin - szybciej i wygodniej ;)
marcin_nicram
Piegowaty Guziec
Piegowaty Guziec
Posty: 3
Rejestracja: 15 lip 2011, 15:15
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Post autor: marcin_nicram »

:-) super. Dzięki za pomoc właśnie przerabiam skrypt i wkleję swój efekt. Co do $2 to "nie myli się ten co nic nie robi" Pozdrawiam.
Awatar użytkownika
Cogito18
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 133
Rejestracja: 11 lut 2008, 23:15
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Post autor: Cogito18 »

Najlepiej założyć sobie w katalogu domowym folder o nazwie bin. Taka ścieżka ($HOME/bin) jest już dopisana do zmiennej PATH.
Awatar użytkownika
thalcave
Przyjaciel
Przyjaciel
Posty: 821
Rejestracja: 08 lis 2006, 12:17
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Fluxbox
Architektura: x86

Re: Skrypt do automatycznego find/remowe folderów *Jestem nowym userem

Post autor: thalcave »

marcin_nicram pamiętaj proszę o dwóch regułach:
* używaj tagów code. Zdecydowanie ułatwia to czytanie co konsola wypluła
* nie umieszczaj 2, 3 pytań, które de facto połączone są ze sobą jedynie ideą.
GNU/Linux user
Na pytania na PW/e-mail nie udzielam odpowiedzi!
Szanujmy innych użytkowników!
Wesprzyj akcje: Temat rozwiązany -> dodajemy [solved]
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 gości