Что не так с этот “находят все файлы подкачки энергии и удаляют их с подтверждением” команда?

Использовать parted (gparted если Вы хотите GUI), или fdisk к разделам формата

3
25.03.2012, 10:28
3 ответа

Ошибка сгенерирована находкой, не комнатой.

Причина состоит в том, что Вы записали это так 'rm -i <file>' отдельный аргумент. Это должно быть переписано:

find mysite mysite_BAK -name '*.swp' -exec rm -i '{}' \;

поэтому найдите, получает несколько аргументов после "-должностное лицо" и рассматривает первое как команду и других как аргументы команды.

8
27.01.2020, 21:08
  • 1
    Можно также не учесть кавычки вокруг {} –  Bernhard 25.03.2012, 12:17
  • 2
    Хорошая практика для использования "*.swp" вместо просто *.swp; Последний не работает в zsh, из-за того, как оболочки рассматривают подстановочные знаки по-другому. –  metasoarous 11.11.2015, 19:04
  • 3
    Хорошая практика для использования "*.swp" вместо просто *.swp; Последний не работает в zsh, из-за того, как оболочки рассматривают подстановочные знаки по-другому. –  metasoarous 11.11.2015, 19:04
  • 4
    @metasoarous благодарит, это также полезно. Я исправил первоначально только спецификацию для '{}', но не отдых строки. Zsh не является единственным для этого; мой удар также перестанет работать из-за "failglob" опции в моей конфигурации по умолчанию. –  Netch 12.11.2015, 16:53

ОБНОВЛЕННЫЙ ОТВЕТ:

при использовании версии удара> 4.0, Вы могли бы использовать globstar функцию, это очень легко:

shopt -s globstar
rm -i **/*.swp

Это также работает с именами файлов, которые содержат пробелы!

shopt -s globstar часть активирует рекурсивное ** соответствие в ударе. Можно вставить это Ваш .bashrc и будьте счастливы навсегда и когда-либо.

СТАРЫЙ ОТВЕТ:

Я обычно нахожу легче использовать простые объединенные инструменты

CD к dir и затем:

rm -i `find . | grep .swp$`

ее более легкое для запоминания (если производительность не является проблемой)!

Предупреждение: Только используйте это, если Ваши имена файлов не содержат пробелы.

8
27.01.2020, 21:08
  • 1
    Ничего себе, это действительно легко и полезно одновременно!Спасибо! Я буду использовать, это с этого времени вместо сложного –  Karel Bílek 26.05.2015, 12:35
  • 2
    Это перестанет работать, если какое-либо имя subdir или найденное имя файла будут содержать пробелы. –  Dubu 12.11.2015, 17:42
  • 3
    @Dubu Правда, я отредактирую, чтобы отразить, что –  polvoazul 20.11.2015, 06:21
[1133525] В вашем случае я бы запустил,[12139]Файл подкачки VIM не только заканчивается на .swp. Если бы .swp существовал, VIM создал бы .swo, затем .swn и так далее. Также, файлы подкачки префиксуются точкой (.), например, .file1.rb.swp[12140]Other ways to find and delete VIM's swap files, без подтверждения (-i):[12141]Without "-type f", вы получите ошибку при удалении каталога. Также, [1133930]\[1133931] в [1133932].\*.sw?[1133933] делает его совместимым на нескольких платформах.[1133532].
1
27.01.2020, 21:08

Теги

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