Mam listę katalogów, w których chcę wejść i usunąć określone pliki. Na przykład nazwy katalogów, które mam, są następujące:
091513
090213
082612
071611
020908
011009
...
062308
Każdy z tych katalogów zawiera 4 pliki, a ich nazwy to:
dealer_score_01.txt
dealer_score_02.txt
dealer_score_03.txt
dealer_score_04.txt
Chcę napisać skrypt, który przejdzie do każdego z tych katalogów i usunie:
dealer_score_01.txt
dealer_score_03.txt
Czy ktoś może mi w tym pomóc?
linux
command-line
unix
shell-script
użytkownik255223
źródło
źródło
man find
, Czytaćexec
iname
częściOdpowiedzi:
Nie musisz wchodzić do każdego katalogu osobno. Przekaż nazwy plików, które chcesz usunąć,
find
i usuń je za pomocą-delete
opcji.Pomiń,
-delete
aby upewnić się, że usuwasz właściwe pliki.źródło
.
nafind
rozkaz. Na przykładfind 091513 090213 -type f …
Jeśli masz już listę katalogów (jak sugerują twoje komentarze), możesz to zrobić za pomocą pętli. Jeśli lista katalogów jest, powiedzmy, w
dir_list
, i zakładając, że żaden z twoich katalogów nie zawiera nowych wierszy w ich nazwie:źródło