Я попытался запустить
locate *.orig | xargs rm
, но он сказал No such file or directory
Я видел способы сделать это с помощью find, но locate возвращает полный путь к объекту поэтому должно быть возможно
locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.
Просто используйте
найдите .orig
, и если это доставит вам то, что вам нужно
locate .orig | xargs rm
или, как упоминалось enzotib
locate -0 .orig | xargs -0 rm
, если у вас есть пробелы в именах файлов.
Трюк: сохраните все пути в файле tmp. затем, Loop на нем:
#! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt; /tmp/tmp.txt rm -rf /tmp/tmp.txt
Команда находит * .orig | xargs rm
действительно работает, но то, что происходило, заключалось в том, что locate
находил файлы *. orig
в корзине мусора и rm
spits (d4) Нет такого файла или каталога при попытке удалить файлы в корзине.
locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.
Просто используйте
найдите .orig
, и если это доставит вам то, что вам нужно
locate .orig | xargs rm
или, как упоминалось enzotib
locate -0 .orig | xargs -0 rm
, если у вас есть пробелы в именах файлов.
Трюк: сохраните все пути в файле tmp. затем, Loop на нем:
#! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt; /tmp/tmp.txt rm -rf /tmp/tmp.txt
Трюк: сохраните все пути в файле tmp. затем, Loop на нем:
#! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt; /tmp/tmp.txt rm -rf /tmp/tmp.txt
Команда находит * .orig | xargs rm
действительно работает, но то, что происходило, заключалось в том, что locate
находил файлы *. orig
в корзине мусора и rm
spits (d4) Нет такого файла или каталога при попытке удалить файлы в корзине.
locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.
Просто используйте
найдите .orig
, и если это доставит вам то, что вам нужно
locate .orig | xargs rm
или, как упоминалось enzotib
locate -0 .orig | xargs -0 rm
, если у вас есть пробелы в именах файлов.
locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.
Просто используйте
найдите .orig
, и если это доставит вам то, что вам нужно
locate .orig | xargs rm
или, как упоминалось enzotib
locate -0 .orig | xargs -0 rm
, если у вас есть пробелы в именах файлов.
Трюк: сохраните все пути в файле tmp. затем, Loop на нем:
#! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt; /tmp/tmp.txt rm -rf /tmp/tmp.txt
Команда находит * .orig | xargs rm
действительно работает, но то, что происходило, заключалось в том, что locate
находил файлы *. orig
в корзине мусора и rm
spits (d4) Нет такого файла или каталога при попытке удалить файлы в корзине.