
Gostaria de saber se alguém sabe como encontrar um padrão e depois movê-lo para um local diferente.
Por exemplo, tenho muitos arquivos chamados:
odbc.ini_20110630
odbc.ini_20110639
odbc.ini_20110643
etc...
Quero pesquisar o padrão de apenas odbc.ini
e mover todos eles para uma pasta diferente.
Não estou muito familiarizado com a execução de dois comandos ao mesmo tempo (tubulação).
Responder1
Você pode usar
find . -name "odbc.ini*" -exec mv {} destination \;
Isso pressupõe que seus arquivos estejam na hierarquia de diretórios começando no diretório atual .
.
Responder2
se os arquivos estiverem todos em um único diretório e você não precisar de nenhuma recursão:
shopt -s nullglob
mv odbc.ini* /new/directory/
se você precisar de recursão:
find "${dir:-.}" -type f -name 'odbc.ini*' -exec mv {} /new/directory \;
Outra abordagem poderia ser, extglob
mas deixarei isso como exercício para o leitor =]
Responder3
Se todos os arquivos estiverem no mesmo diretório:
mv /path/to/source/odbc.ini* /path/to/destination
Se você também deseja mover arquivos em subdiretórios:
shopt -s globstar # put this line in your ~/.bashrc
mv /path/to/source/**/obdc.ini* /path/to/destination