Проблема сценария Bash, найди, MV Tilde Файлы, созданные Gedit
Вопрос
Я использую Linux с Gedit, который имеет прекрасную привычку создавать файл Temp с тильдой в конце для каждого редактирования файлов.
Я пытаюсь переместить все эти файлы одновременно в другую папку, используя следующие:
find . -iname “*.php~” -exec mv {} /mydir \;
Однако теперь его дает мне синтаксические ошибки, как будто он искал через каждый файл и пытается переместить кусок текста. Я просто хочу переместить все файлы, заканчивающиеся в .php ~ в другой каталог. Любая идея, как я это делаю?
Ура бы
Решение
Попробуйте этот бейнер:
for D in `find . -iname "*.php~"`; do mv ${D} /mydir; done
Для будущего ссылки, если вы перейдете в вкладку «Редактировать»> «Настройки»> «Редактор», есть флажок «Создать резервную копию файлов перед сохранением», который является парень, ответственным за создание версии Tilde.
Другие советы
GNU найти
find . -iname "*.php~" -exec mv "{}" /mydir +;
или
for file in *.php~
do
echo mv "$file" /mydir
done