проблема bash-скрипта, найти, mv файлы тильды, созданные gedit - PullRequest
0 голосов
/ 14 апреля 2010

я использую linux с gedit, у которого есть замечательная привычка создавать временный файл с тильдой в конце для каждого редактируемого файла.

я пытаюсь переместить все эти файлы одновременно в другую папку, используя следующую команду:

find . -iname “*.php~” -exec mv {} /mydir \;

Однако теперь он дает мне синтаксические ошибки, как будто он просматривает каждый файл и пытается переместить фрагмент текста. Я просто хочу переместить все файлы, заканчивающиеся на .php ~, в другой каталог. Есть идеи, как мне это сделать?

Приветствия Ke

Ответы [ 2 ]

2 голосов
/ 14 апреля 2010

Попробуйте этот однострочник:

for D in `find . -iname "*.php~"`; do mv ${D} /mydir; done

Для дальнейшего использования, если вы перейдете в меню «Редактирование»> «Установки»> «Вкладка редактора», есть флажок «Создать резервную копию файлов перед сохранением». Это тот, кто отвечает за создание версии тильды.

0 голосов
/ 15 апреля 2010

GNU найти

find . -iname "*.php~" -exec mv "{}" /mydir +;

или

for file in *.php~
do
 echo mv "$file" /mydir
done
...