Strona 1 z 1
bash --- szukanie plików w bieŻącym katalogu
: 03 maja 2008, 08:37
autor: dawideo
Jako prace domową muszę napisać parę prostych skryptów. Oczywiście w tych sprawach jestem laikiem :] (ale nie chcę by ktoś za mnie je napisał) tylko proszę o małą wskazówkę. Otóż zadaniem jednego z moich skryptów ma być wyszukanie plików z
rozszerzeniem *.txt (i coś tam z nimi robi) w bieżącym katalogu. Do wyszukania plików użyłem:
Ale to polecenie znajduje (chyba) wszystkie pliki *.txt w systemie. A mi chodzi tylko o to by przeszukiwał bieżący katalog (ewentualnie podkatalogi).
Jakieś propozycje?
.
: 03 maja 2008, 08:58
autor: thalcave
to chyba wystarczy. Ta kropka zaraz po find wskazuje aktualny katalog
: 03 maja 2008, 11:38
autor: dawideo
Podziękowania wielkie, a jak zrobić aby nie podawał całej ścieżki do pliku tylko jego nazwę?
: 03 maja 2008, 15:06
autor: droopy
dawideo, użyj manuala:
ewentualnie tutaj:
http://bartus.yyy.pl/files/so2/find.zip masz trochę ładniejszego manuala
btw. find . -type f -iname "*.txt" znajduje pliki nie w bieżącym katalogu, tylko w całym drzewie od bieżącego poczynając, jest opcja do ograniczenia głębokości szukania, jaka - do manuala odsyłam

: 03 maja 2008, 15:52
autor: thalcave
Kod: Zaznacz cały
find . -type f -iname "*.txt" -printf "%f\n"
: 04 maja 2008, 12:09
autor: dawideo
Ok
Dzięki waszej pomocy udało mi się napisać swój 1 prosty skrypcik. No prawie

mam jeszcze 1 mały błąd. Otóż nie działa mi "rm -i" w skrypcjie
Kod: Zaznacz cały
#!/bin/bash
# Program
if [ $# -eq 0 ]; then
echo "Nie wybrales parametru"
elif [ $# -gt 1 ]; then
echo "Wybrales za duzo parametrow"
else
select x in w s exit
do
case $x in
"w") find * -type f -size -1024c -iname "*.txt" -printf "%f\n" | xargs rm -i >>dane.txt;;
"s") find * -type f -size +1024c -iname "*.txt" | xargs tar -rf archiwum.tar; gzip archiwum.tar;;
"exit") exit;;
*) echo "Nie wybrano zadnej opcji opcji";;
esac
break
done
fi
Konsola po wpisaniu y (lub czegoś innego) wypisuje mi
Natomiast ja wpisze "yes" jest jezcze gorzej konsola wypisuje same "y" jedna pod drugą:/
I totalnie nie mam pojęcia czemu:/. Według "man rm" dobrze napisałem tak mi się zdaje:/
P.s "rm -v" działa normalnie (wypisuje pliki które usuwa), to dlaczego "rm -i" nie działa??
: 01 kwietnia 2010, 12:50
autor: czarownik
Witam.
Mam problem z wyszukaniem plików, chciałbym wyszukać pliki z przed pięciu dni, ale nie tylko z 5 dnia ale też z 5, 4, 3, 2, 1 dnia włącznie w:
znalazłem coś takiego
ale wyświetla mi tylko pliki z datą z przed 5 dni.
Czy da się to zrobić jakoś inaczej niż:
Kod: Zaznacz cały
find . -mtime -1 -print
find . -mtime -2 -print
find . -mtime -3 -print
find . -mtime -4 -print
find . -mtime -5 -print
: 01 kwietnia 2010, 16:17
autor: Czocher
: 02 kwietnia 2010, 10:13
autor: czarownik
Dziękuję działa
