Próbowałem biec
locate *.orig | xargs rm
ale powiedział No such file or directory
Widziałem sposoby, aby to zrobić, find
ale funkcja locate zwraca pełną ścieżkę do obiektu, więc powinno to być możliwe
bash
gnome-terminal
rm
Soldier.moth
źródło
źródło
| while read
ponieważ mój katalog domowy jest pełen plików ze spacjami.*.orig
, powłoka rozwinie wzór do, powiedzmyfile1.orig file2.orig ...
, tak,locate
aby nie widział dokładnie takiego ciągu,*.orig
jak powinien.tr '\n' '\0'
.To
xargs
niexarg
źródło
Polecenie
locate *.orig | xargs rm
faktycznie działa, ale działo się tak, żelocate
znajdowanie*.orig
plików w koszu irm
wyrzucanie błęduNo such file or directory
podczas próby usunięcia plików w koszu.źródło
locate nie wykonuje globowania, ale robi to powłoka. Powłoka rozwija * .orig do tego, co znajdzie w bieżącym katalogu, który pasuje do * .orig.
Po prostu użyj
a jeśli to zapewni ci to, czego potrzebujesz
lub, jak wspomniano enzotib
jeśli masz nazwy białych znaków w nazwach plików.
źródło
Sztuczka: Zapisz wszystkie ścieżki w pliku tmp. następnie zapętlić:
źródło