Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam
Nie zajmowałem się wiele programowaniem a potrzebuję stworzyć skrypt/program realizujący co następuje:
W jednym katalogu są zapisywane pliki które mają schemat nazwy:
kopia_[unikalna_nazwa1] 2011-01-01.zip
kopia_[unikalna_nazwa1] 2011-01-02.zip
kopia_[unikalna_nazwa1] 2011-01-05.zip
kopia_[unikalna_nazwa2] 2011-01-01.zip
kopia_[unikalna_nazwa2] 2011-01-20.zip
kopia_[unikalna_nazwa2] 2011-02-21.zip
Teraz chciałbym żeby zapuszczony skrypt sprawdził wszystkie pliki i przeniósł do innego katalogu tylko takie które są najnowszą wersją danej "unikalnej_nazwy".
Najlepiej żeby wzorce unikalnych nazw czyli tą część
unikalna_nazwa1
unikalna_nazwa2
unikalna_nazwa3
itd
pobierał sobie z pliku tekstowego
a daty samych przetwarzanych plików wyciągał z nazwy pliku a nie np. z systemu z daty utworzenia pliku.
Czy w bashu dam radę stworzyć taki skrypcik czy potrzebuję czegoś bardziej zaawansowanego ?
Dzięki za sugestie
Offline
Chyba wystarczy find (użyty w skrypcie basha)
man find
Ostatnio edytowany przez Jacekalex (2011-09-23 23:23:11)
Offline
dk napisał(-a):
Czy w bashu dam radę stworzyć taki skrypcik czy potrzebuję czegoś bardziej zaawansowanego ?
Tak, w bash-u da się coś takiego zrobić.
A niech stracę. Możesz:
- użyć sort z parametrem do porównań numerycznych;
- odczytywać z nazwy pliku datę, przerabiać ją na timestamp i potem porównywać jako liczby.
Offline
mozesz też użyć regexp do wucięcia daty z nazwy pliku bądź fragmentu który Cię interesuje ;)
Offline
Strony: 1