
Мне интересно, знает ли кто-нибудь, как найти шаблон, а затем переместить его в другое место.
Например, у меня есть много файлов с именами:
odbc.ini_20110630
odbc.ini_20110639
odbc.ini_20110643
etc...
Я хочу найти шаблон just odbc.ini
и переместить их все в другую папку.
Я не очень хорошо разбираюсь в том, как выполнять две команды одновременно (конвейеризация).
решение1
Вы можете использовать
find . -name "odbc.ini*" -exec mv {} destination \;
Предполагается, что ваши файлы находятся в иерархии каталогов, начиная с текущего каталога .
.
решение2
если все файлы находятся в одном каталоге и вам не нужна рекурсия:
shopt -s nullglob
mv odbc.ini* /new/directory/
если вам нужна рекурсия:
find "${dir:-.}" -type f -name 'odbc.ini*' -exec mv {} /new/directory \;
Другой подход может быть с помощью, extglob
но я оставлю это в качестве упражнения для читателя =]
решение3
Если все файлы находятся в одном каталоге:
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