[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Res.: Renomeando arquivos com espaço
From: |
Assistência Técnica Balanças Brasil |
Subject: |
Re: [shell-script] Res.: Renomeando arquivos com espaço |
Date: |
Mon, 28 Feb 2005 17:41:38 -0300 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040805 Netscape/7.2 |
Marcelo,
Muitíssimo obrigado. Sua dica clareou minhas idéias!!!
Cheguei a seguinte solução:
#!/bin/bash
echo
nome="teste de. longo nome.de-arquivo..........com_. _ mais de um
-ponto....teste.txt.ddd.rtz.www.__..xyz"
echo "$nome"
echo
# Troca os caracteres indesejados por "." e remove os pontos em sequencia
nome=`echo "$nome" | sed 's/\ /\./g;s/-/\./g;s/_/\./g' |tr -s \. `
# Conta a quantidade de pontos trocando os pontos por "\n" e contando a quantidade de linhas
x="`echo "$nome" | sed 's/\./\n/g'|wc -l`"
x=$((x-2))
# Troca a quantidade de pontos desejada por "_"
while [ $x -gt 0 ]; do
nome=`echo "$nome" | sed 's/\./_/'`
x=$((x-1))
done
echo $nome
echo
Qualquer sugestão de melhoria será muito bem vinda
[ ]' s
Mauricio Zani
Ger. Dep. Técnico / Qualidade
Balanças Brasil Ltda.
Fone (19) 3256-7155 - ramal 23
email: address@hidden
homepage: http://www.balancasbrasil.com
Marcelo G. Dias wrote:
Tente :
arquivo="teste de nome.com mas de um ..teste"
ls teste\ de\ nome.com\ mas\ de\ um\ ..teste | sed 's/
/_/g;s/\./_/;s/\.\./\./;s/__/_/g;s/_\./\./'