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/.
Witajcie, borykam się z problemem stworzenia skryptu, który usuwał by najstarszy katalog.
W internecie znalazłem coś takiego:
rm -r `find -printf "%T@ %P\n" | sort -n | head -1 | cut -d' ' -f2-`
Polecenie działa bardzo dobrze, ale muszę być ścieżkę wyżej od katalogu, który chce usunąć, natomiast ja potrzebuje przekazać ścieżkę do katalogu bezpośrednio w poleceniu. Próbowałem dopisywać na początku,środku czy końcu daje mierny efekt. Czy ktoś pracował nad czymś podobnym ?
Dziękuje za pomoc.
Offline
No to "poinstruuj" find aby szukał pod określoną ścieżką.
Offline
Pytanie tylko gdzie ją podać ? Polecenie tego typu nie działa
rm -r `find /media/dysk/katalog/ -printf "%T@ %P\n" | sort -n | head -1 | cut -d' ' -f2-`
Offline
SOA #1
Offline
Co to znaczy SOA #1 ?
Offline
SOA#1 --> Standardowa Odpowiedź Administratora nr 1: U mnie działa.
Offline
paladyn, nie wiem jak bardzo jesteś zaawansowany, niemniej wszelkie tego typu zabawy prowadź na "rozbrojonej" wersji
rm -r `find /media/dysk/katalog/ -printf "%T@ %P\n" | sort -n | head -1 | cut -d' ' -f2-`
^źle
find /media/dysk/katalog/ -printf "%T@ %P\n" | sort -n | head -1 | cut -d' ' -f2-
^ o całe niebo lepiej ;)
i jak druga wersja zwróci Ci oczekiwany wynink to dopiero wtedy puścić rm -r na wyniku.
Offline
lis6502
Faktycznie polecenie
find /media/dysk/katalog/ -printf "%T@ %P\n" | sort -n | head -1 | cut -d' ' -f2-
działa prawidłowo. Nie mam pojęcia dlaczego wcześniej metodą prób i błędów nie doszedłem do tego.
Dodanie rm -r przed polecenie skutkuje informacją, że nie ma takiego pliku ani katalogu. Katalog który trzeba usunąć to 2018-02-03 w konsola zwraca coś takiego:
rm: nie można usunąć '2018-02-03': Nie ma takiego pliku ani katalogu
Jak dodałem ścieżkę do rm to usunęło kompletnie wszystko spod tej ścieżki czyli kompletnie olało to co zwraca find
Dało by się to jakoś ulepszyć ?
Jeśli chodzi o moje umiejętności programowania w Bash to praktycznie zerowe.
Dzięki za pomoc
Edit:
Ok chyba już wiem co z tym rm było nie tak.
rm -r /media/dysk/katalog/[tutaj była spacja]`find /media/dysk/katalog/ -printf "%T@ %P\n" | sort -n | head -1 | cut -d' ' -f2-`
Po pierwszych testach wygląda, że działa prawidłowo aczkolwiek gdy katalog jest pusty to przy ponownym uruchomieniu polecenia zostaje usunięty.
Ostatnio edytowany przez paladyn (2018-02-03 20:30:47)
Offline