shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] [Duvida] Mover Arquivo e renomeando-o ao mesmo tempo


From: Julio C. Neves
Subject: Re: [shell-script] [Duvida] Mover Arquivo e renomeando-o ao mesmo tempo
Date: Fri, 20 Dec 2013 10:45:39 +0000

Isso vai funcionar até o sequencial 9999. Qdo virar para 10000, já era. O correto seria:

sed -r 's/(([0-9]+\.){3})[0-9]+\.(.*)/\1\3/'

A resposta do João Olavo tb está correta, porém ele esqueceu de colocar a opção -r no sed para poder usar 'e grupos (parênteses)

Abcs,
Julio
@juliobash
Facebook!? Not even if a cow coughs...
;)

Posso dar treinamento Shell em qualquer parte do país.
Me mande um e-mail para saber detalhes ou
echo 618921594007727281449002107776021103258914797578P | dc



Em 19 de dezembro de 2013 19:50, Gabriel Côrtes <address@hidden> escreveu:
 

Valeu ai :)


Em 19 de dezembro de 2013 17:49, Gabriel Côrtes <address@hidden> escreveu:
Opa e ai
Então, testei sua solução, mas ela não funcionou. Mas vc me deu a ferramenta :)
Consegui fazer nessa forma:

for $i in *
do
       new_file=$(sed -e 's/\.[[:digit:]]\{4\}\./\./' <<< "$i")
       mv $new_file ./interfaces/output/
done



Em 19 de dezembro de 2013 10:41, João Olavo Baião de Vasconcelos <address@hidden> escreveu:

 

Gabriel,

Não testei, mas segue uma ideia.

for i in *; do
  novo_arq=$(sed 's/\([[:digit:]]+.[[:digit:]]+.[[:digit:]]+.\)[[:digit:]]+.\([[:digit:]]+.txt\)/\1\2/' <<< "$i")
  mv $i $novo_arq
done



2013/12/19 Gabriel Côrtes <address@hidden>
 

E ai galera,
To com uma dúvida e talvez vocês possam me ajudar.

eu tenho arquivos deste tipo:

0000000392.0000000033.000003.3810.18122013.txt
0000000392.0000000001.000005.3811.18122013.txt

Onde o campo em verde é uma sequence e o em azul é data.
Há um script que atualmente faz o seguinte:

No começo do script é recuperada um sequence do banco, que é chamada de FILE_SEQ_NO.
É então executado uns jobs que criam ulguns arquivos da forma mostrada nos 2 exemplos acima.
Ao final do script, esses arquivos são movidos de pasta, como mostrado abaixo:

mv $ABP_AR_ROOT/work/*${FILE_SEQ_NO}.${SYSTEM_DATE_ddMMyyyy}.txt ${ABP_AR_ROOT}/interfaces/output/

Todos os arquivos que terminam com a Sequence seguida de um '.' e seguida da data do sistema seguida de .txt são movidos

Gostaria de continuar movendo estes arquivos, mas agora Removendo a sequence.
Dessa forma ele ficaria: 0000000392.0000000033.000003.18122013.txt

Alguém pode me ajudar? Estou com dificuldade para remover a sequence.

Obrigado,

Gabriel




--
João Olavo Baião de Vasconcelos
Analista de Sistemas - Infraestrutura





reply via email to

[Prev in Thread] Current Thread [Next in Thread]