Результаты труб, найденных в rm

Я попытался запустить

locate *.orig | xargs rm

, но он сказал No such file or directory

Я видел способы сделать это с помощью find, но locate возвращает полный путь к объекту поэтому должно быть возможно

9
задан 23 October 2010 в 00:35

45 ответов

locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.

Просто используйте

  найдите .orig  

, и если это доставит вам то, что вам нужно

  locate .orig |  xargs rm  

или, как упоминалось enzotib

  locate -0 .orig |  xargs -0 rm  

, если у вас есть пробелы в именах файлов.

0
ответ дан 6 August 2018 в 04:28

Трюк: сохраните все пути в файле tmp. затем, Loop на нем:

  #! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt;  /tmp/tmp.txt rm -rf /tmp/tmp.txt  
0
ответ дан 6 August 2018 в 04:28

Это xargs not xarg

1
ответ дан 6 August 2018 в 04:28

Это xargs not xarg

1
ответ дан 7 August 2018 в 22:35

Команда находит * .orig | xargs rm действительно работает, но то, что происходило, заключалось в том, что locate находил файлы *. orig в корзине мусора и rm spits (d4) Нет такого файла или каталога при попытке удалить файлы в корзине.

0
ответ дан 7 August 2018 в 22:35

locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.

Просто используйте

  найдите .orig  

, и если это доставит вам то, что вам нужно

  locate .orig |  xargs rm  

или, как упоминалось enzotib

  locate -0 .orig |  xargs -0 rm  

, если у вас есть пробелы в именах файлов.

0
ответ дан 7 August 2018 в 22:35

Трюк: сохраните все пути в файле tmp. затем, Loop на нем:

  #! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt;  /tmp/tmp.txt rm -rf /tmp/tmp.txt  
0
ответ дан 7 August 2018 в 22:35

Трюк: сохраните все пути в файле tmp. затем, Loop на нем:

  #! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt;  /tmp/tmp.txt rm -rf /tmp/tmp.txt  
0
ответ дан 10 August 2018 в 10:42

Это xargs not xarg

1
ответ дан 10 August 2018 в 10:42

Команда находит * .orig | xargs rm действительно работает, но то, что происходило, заключалось в том, что locate находил файлы *. orig в корзине мусора и rm spits (d4) Нет такого файла или каталога при попытке удалить файлы в корзине.

0
ответ дан 10 August 2018 в 10:42

locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.

Просто используйте

  найдите .orig  

, и если это доставит вам то, что вам нужно

  locate .orig |  xargs rm  

или, как упоминалось enzotib

  locate -0 .orig |  xargs -0 rm  

, если у вас есть пробелы в именах файлов.

0
ответ дан 10 August 2018 в 10:42

locate не делает globbing, но оболочка делает. Оболочка расширяет * .orig до того, что она находит в текущем каталоге, который соответствует * .orig.

Просто используйте

  найдите .orig  

, и если это доставит вам то, что вам нужно

  locate .orig |  xargs rm  

или, как упоминалось enzotib

  locate -0 .orig |  xargs -0 rm  

, если у вас есть пробелы в именах файлов.

0
ответ дан 13 August 2018 в 17:16

Трюк: сохраните все пути в файле tmp. затем, Loop на нем:

  #! / bin / bash найти .orig /tmp/tmp.txt во время чтения строки do pth = $ line rm "$ pth" done & lt;  /tmp/tmp.txt rm -rf /tmp/tmp.txt  
0
ответ дан 13 August 2018 в 17:16

Это xargs not xarg

1
ответ дан 13 August 2018 в 17:16
  • 1
    Это то, что я имел в виду, это печатать вопрос из памяти спасибо. – soldier.moth 23 October 2010 в 00:35
  • 2
    О, хорошо. Это выглядело как ошибка, которую вы получили бы некорректную команду после | – maco 23 October 2010 в 00:45

Команда находит * .orig | xargs rm действительно работает, но то, что происходило, заключалось в том, что locate находил файлы *. orig в корзине мусора и rm spits (d4) Нет такого файла или каталога при попытке удалить файлы в корзине.

0
ответ дан 13 August 2018 в 17:16
  • 1
    Вы должны добавить информацию как "комментарий" к исходному ответу, или вы можете отредактировать исходный ответ. Это не ответ на ваш вопрос. – enzotib 23 October 2010 в 10:57
  • 2
    Ответ на мой вопрос - причина, по которой я получал ошибку, потому что locate находил файлы * .orig в корзине мусора и rm не мог их удалить. Я принял ваш ответ и проголосовал за другие ответы, потому что они были хорошо написаны и могли помочь кому-то, кто приходит позже. – soldier.moth 23 October 2010 в 11:25

Другие вопросы по тегам:

Похожие вопросы: