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

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

RES: [shell-script] Cortar nome de arquivo.


From: Wagner Brasileiro Cardoso
Subject: RES: [shell-script] Cortar nome de arquivo.
Date: Tue, 10 Apr 2007 18:17:50 -0300

Ok, muito obrigado Júlio, minha dúvida era se, como vc diz, dava para fazer
em uma ou duas linhas com sed e redirecionamento, mas pelo visto não. Se
puder dar uma explicação da linha: "ArqNov=${Arq:0:Corte}.$Ext" se trata-se
de variáveis de ambiente eu desconheço, poderia me passar algum lugar onde
as referencie, assim como as ERs para testar cadeias numéricas? Obrigado.

  -----Mensagem original-----
  De: address@hidden
[mailto:address@hidden]Em nome de Julio C. Neves
  Enviada em: terça-feira, 10 de abril de 2007 14:45
  Para: address@hidden
  Assunto: Re: [shell-script] Cortar nome de arquivo.


  Aê Wagner,
  for Arq in *
  do
  [ ${#Arq} -le 25 ] && continue
  Ext=${Arq#*.}
  Corte=$((24-${#Ext}))
  ArqNov=${Arq:0:Corte}.$Ext
  [ -f $ArqNov ] && {
  echo $Arq já foi cortado antes
  continue
  }
  mv $Arq $ArqNov
  done

  OBS:
  1 - Não foi testado
  2 - Se o arquivo chamar-se wagner.tar.gz a extensão será considerada como
  tar.gz. Se quiser que seja só gz fazer Ext=${Arq##*.}
  3 - Apesar de vc ter falado em extensões com 3 caracteres, neste caso fiz
  com extensões de qq tamanho para ficar genérico.
  4 - Se todos os arquivo tiverem mais de 25 char e todas as extensões
tiverem
  sempre 3 caracteres, isso pode ser bastante simplificado.

  Bom proveito,
  Julio
  :wq

  Em 10/04/07, Wagner Brasileiro Cardoso
<address@hidden>
  escreveu:
  >
  > Boa tarde,
  >
  > Estou em dúvida de qual método devo usar para reduzir uma lista de
  > arquivos
  > a somente 25 caracteres por nome de arquivo, minha principal dúvida é
como
  > fazer para limitar a renomeação aos primeiros 21 caracteres acrescidos
de
  > "."e extensão totalizando 25 caracteres que é o que o dispositivo me
  > permite
  > ler.
  > Tenho a impressão que estou fazendo uma pergunta ridícula, mas no
momento
  > não me vem nada na cabeça.
  > Pensei em criar uma lista dos nomes e ir processando linha a linha, mas
me
  > falta a forma de limitar ao tamanho da forma anterior que eu falei.
  >
  > Obrigado,
  >
  > Wagner Brasileiro
  >
  >
  >

  --
  Abraços,
  Julio
  http://www.julioneves.com - Um livro sobre Bash completo e on-line
  :wq

  [As partes desta mensagem que não continham texto foram removidas]



  


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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