Como utilizar MV com REGEX ?

1. Como utilizar MV com REGEX ?

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/10/2013 - 10:46h

Galera como mv para um diretório só os arquivos inciados com números?

Tentei isso e não consegui, já procurei por aqui e pela WEB e não encontrei ainda:

$ mv ${ls | grep '^[0-9]'} /home/$USER/diretorio

bash: ${ls | grep '^[0-9]'}: substituição incorreta


Alguém ajudaria na maneira correta ?


  


2. Re: Como utilizar MV com REGEX ?

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 05/10/2013 - 12:53h

vc pode tentar:


arquivos=$(ls | egrep '^[0-9]')
for i in `echo $arquivos`;
do
mv $i /home/$USER/diretorio
done



3. Re: Como utilizar MV com REGEX ?

Fernando
phoemur

(usa Debian)

Enviado em 05/10/2013 - 22:11h

Poderia fazer assim:


ls -bw1 --color=none | grep ^[0-9] | xargs -L1 -i -t mv {} /diretorio/destino



Agora em teoria a saída do comando ls não é pra ser jogada em outros comandos, pois o ls não é padrão nos linux e BSD, tem algumas diferenças de saída e pode variar
O certo mesmo seria fazer assim:


find . -name "[0-9]*" -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n1 -i -t mv {} /diretorio/destino

Mas eu acho mais complicado e acabo usando a primeira alternativa mesmo

Abraços






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts