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 
