Encontre o padrão e mova-se

2

Gostaria de saber se alguém sabe como encontrar um padrão e, em seguida, movê-lo para um local diferente.

Por exemplo, Eu tenho muitos arquivos nomeados:

odbc.ini_20110630
odbc.ini_20110639
odbc.ini_20110643
etc...

Eu quero pesquisar o padrão de apenas odbc.ini e mover todos eles para uma pasta diferente.

Não estou muito familiarizado com a maneira de executar dois comandos ao mesmo tempo (tubulação).

    
por mkrouse 24.07.2013 / 22:17

3 respostas

5

Você pode usar

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

Isto supõe que seus arquivos estão na hierarquia de diretórios, iniciando no diretório atual . .

    
por 24.07.2013 / 22:20
1

se os arquivos estiverem 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 com extglob , mas deixarei isso como um exercício para o leitor =]

    
por 24.07.2013 / 23:38
1

Se todos os arquivos estiverem no mesmo diretório:

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

Se você quiser mover arquivos em subdiretórios também:

shopt -s globstar      # put this line in your ~/.bashrc
mv /path/to/source/**/obdc.ini* /path/to/destination
    
por 25.07.2013 / 02:45

Tags