Найдите шаблон и перемещение

Как насчет просто этого?

find . -type d -exec sh -c '/bin/echo -n "{}"; find "{}" -maxdepth 1 -regex ".*\." -type f | wc -l; ' \;

Вывод не является столь же сладким, но он не требует сценария, и он работает на каталоги с пробелами, а также другие неалфавитно-цифровые символы.

2
24.07.2013, 23:56
3 ответа

Можно использовать

find . -name "odbc.ini*" -exec mv {} destination \;

Это предполагает, что Ваши файлы находятся в иерархии каталогов, запускающейся в текущем каталоге ..

5
27.01.2020, 21:53
  • 1
    Только из любопытства - это уничтожает все файлы, если каталог уже не существует? –  InquilineKea 21.10.2013, 00:20
  • 2
    Вы имеете в виду destination каталог? Если это происходит, я боюсь, что ответ да, за исключением последнего перемещенного файла, который назовут destination. –  unxnut 21.10.2013, 04:02

если файлы - все в единственном каталоге, и Вам не нужна никакая рекурсия:

shopt -s nullglob
mv odbc.ini* /new/directory/

если Вам нужна рекурсия:

find "${dir:-.}" -type f -name 'odbc.ini*' -exec mv {} /new/directory \;

Другой подход мог быть с extglob но я оставлю это как осуществление для читателя =]

1
27.01.2020, 21:53

Если все файлы находятся в том же каталоге:

mv /path/to/source/odbc.ini* /path/to/destination

Если Вы хотите переместить файлы в подкаталоги также:

shopt -s globstar      # put this line in your ~/.bashrc
mv /path/to/source/**/obdc.ini* /path/to/destination
1
27.01.2020, 21:53

Теги

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