kaczorro89 Napisano Czerwiec 2, 2011 Zgłoszenie Share Napisano Czerwiec 2, 2011 Witam. Jak zrobić w bash'u żeby usuwać tylko jeden plik o losowej nazwie z katalogu? Np. Mam katalog a w nim powiedzmy pliki o nazwie: plik1, plik2, plik3 itd I jak teraz zrobić żeby usunął jeden z tych plików, obojętnie który. Próbowałem za pomocą rm plik? ale to usuwa wszystkie pliki w nazwie mające "plik". Próbowałem także rm plik[0-20] ale wtedy wywalało mi że nie znaleziono takiego pliku. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
alkuzad Napisano Czerwiec 2, 2011 Zgłoszenie Share Napisano Czerwiec 2, 2011 ls | wc -l - zwraca ilosc plikow TAB=$(ls) - to jest tablica plikow teraz losujesz 1 z plikow z tablicy i jest. Dziala, moze jest jakas komenda do tego - nie wiem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ecik__ Napisano Czerwiec 2, 2011 Zgłoszenie Share Napisano Czerwiec 2, 2011 Jeśli to ma być na pewno plik, a nie może być katalog to polecenie ls nie da odpowiedniego wyniku, bo wypisuje też katalogu. Wtedy można użyć polecenia find: find . -maxdepth 1 -type f Następnie, polecenie sort ma taki miły parametr: -R, który po prostu wypisuje linie wejściowe losowej kolejności. find . -maxdepth 1 -type f| sort -R Teraz wystarczy przeczytać pierwszą linię wyjścia (polecenie head) i będziemy mieli losową nazwę pliku. find . -maxdepth 1 -type f | sort -R | head -1 Na końcu, trzeba tę nazwę pliku podać jakoś do polecenia rm. Można to zrobić na różne sposoby. Pierwszy sposób: rm $(find . -maxdepth 1 -type f | sort -R | head -1) Drugi sposób: rm `find . -maxdepth 1 -type f | sort -R | head -1` Trzeci sposób: find . -maxdepth 1 -type f | sort -R | head -1 | xargs rm Polecam we własnym zakresie się dowiedzieć czym one się między sobą różnią ;-) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
takori Napisano Czerwiec 3, 2011 Zgłoszenie Share Napisano Czerwiec 3, 2011 Intrygujace. Jedna rzecz to wyszukiwanie, ale losowe usuwanie pliku? Czy czegos nie zlapalem? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Czerwiec 3, 2011 Zgłoszenie Share Napisano Czerwiec 3, 2011 Czy czegoś nie złapałem?Wirusa Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
takori Napisano Czerwiec 3, 2011 Zgłoszenie Share Napisano Czerwiec 3, 2011 Wirusa i jeszcze jednej rzeczy, ale wszystko przed nami Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
neometal Napisano Czerwiec 3, 2011 Zgłoszenie Share Napisano Czerwiec 3, 2011 A w man sort ani słowa o opcji "R". Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
esail Napisano Czerwiec 3, 2011 Zgłoszenie Share Napisano Czerwiec 3, 2011 Zadanie domowe jak nic, ale bardzo ciekawe nie powiem. Bede musial zanotowac dla moich studentow. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
thof Napisano Czerwiec 3, 2011 Zgłoszenie Share Napisano Czerwiec 3, 2011 A w man sort ani slowa o opcji "R". U mnie jest: -R, --random-sort sort by random hash of keys Ale tez musze powiedziec, ze pierwszy raz sie spotkalem. Rzeczywiscie moze ulatwic zycie w niektórych sytuacjach. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ecik__ Napisano Czerwiec 3, 2011 Zgłoszenie Share Napisano Czerwiec 3, 2011 A w man sort ani słowa o opcji "R". Polski manual jest przestarzały. W angielskim rzeczywiście jest. No i sort --help też daje listę wszystkich parametrów Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
kaczorro89 Napisano Czerwiec 12, 2011 Autor Zgłoszenie Share Napisano Czerwiec 12, 2011 Dzięki wszystkim za odpowiedzi. Rozwiązałem to na inny sposób. Po prostu usuwałem ostatni powstały plik Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Subaru Napisano Czerwiec 13, 2011 Zgłoszenie Share Napisano Czerwiec 13, 2011 Zadanie domowe jak nic, ale bardzo ciekawe nie powiem. Bede musial zanotowac dla moich studentow. Indeed, kto przy zdrowych zmysłach chciałby tak porządkować cokolwiek Jeny ludzie mogliby chociaż starać się ukryć, że chcą zadanie domowe rozwiązać a nie taka słaba konspiracja... Dzięki wszystkim za odpowiedzi. Rozwiązałem to na inny sposób. Po prostu usuwałem ostatni powstały plik No i gdzie tu random przepraszam? Chciałeś przeto Jak zrobić w bash'u żeby usuwać tylko jeden plik o losowej nazwie z katalogu? Więc takie nijak rozwiązanie, ja bym Ci za to nie postawił pozytywnej oceny Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się