Запуск команды поиска из каталога против другого каталога - PullRequest
0 голосов
/ 21 января 2019

Я делаю что-то не так, но не могу понять, что это такое. Я пытаюсь переместить все файлы в папке (папка A) в другую папку (папку B) без каких-либо подкаталогов и исключая определенные файлы

Когда я в папке, я запускаю ...

cd folderA
find . -path './*' -prune -not \( -name "file1.php" -o -name "file2.txt" \) -type f -exec mv -f {} ~/folderB/ \;

Это прекрасно работает. Но я хочу запустить приведенную выше команду find в bash-скрипте и не хочу идти в папку, поэтому я попытался ...

find ~/folderA/ -path './*' -prune -not \( -name "file1.php" -o -name "file2.txt" \) -type f -exec mv -f {} ~/folderB/ \;

И ничего! Что я делаю не так.

Заранее спасибо

1 Ответ

0 голосов
/ 21 января 2019

После удаления приведенной выше команды я обнаружил проблему.по какой-то причине -path './*' -prune не работает вне прямой папки.Вот команда, которую я использовал, чтобы заставить ее работать вне самой папки ...

find ~/folderA/ -maxdepth 1 -not \( -name "file1.php" -o -name "file2.txt" \) -type f -exec mv -f {} ~/folderB/ \;

Опять же, не уверен, что -maxdepth 1 будет работать над другим методом, но это так.

FYI ... если вы хотите пойти дальше в подкаталогах, вы можете изменить значение 1

...