|
From: | Blau Araujo |
Subject: | Re: [shell-script-pt] Localizar arquivos e substituir |
Date: | Tue, 21 Sep 2021 11:35:33 -0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 |
Sim, Julio!A gente gosta de brincar com soluções em uma linha, mas também curto muito buscar soluções 100% em Bash. Esse macete dá até pra fazer com uma linha a menos:
``` ~ $ arq=Arquivo1-20.09.2021-Prof.Marcelo.xls ~ $ ext=${arq##*.} ~ $ : ${arq%.*} ~ $ mv $arq ${_//./_}.$ext ```Como isso entraria num loop 'for' ou numa função, com certeza seria a minha escolha! Talvez até transformando o 'for' em uma função:
``` padroniza() for f; do ext=${f##*.} : ${f%.*} mv $f ${_//./_}.$ext done ``` Que eu usaria assim: ``` :~$ padroniza LISTA_DE_ARQUIVOS ``` Abraços! Blau Araujo ----------------------------- https://debxp.org https://blauaraujo.com Em 20/09/2021 19:07, Julio C. Neves escreveu:
Como em Shell existem sempre dezenas de formas de fazer a mesma coisa, aí vai uma dica só usando expansão de parâmetros que, devido a isso, deve ser muito rápida:$ Arq=Arquivo1-20.09.2021-Prof.Marcelo.xls $ Ext=${Arq##*.} $ : ${Arq%.*}; : ${_//./_}.$Ext $ mv Arq $_ Abraços, Julio *» Não tem tempo para fazer um curso presencial?* *» Na sua cidade não tem nenhum bom curso de Linux?**Veja detalhes** em: **https://www.dicas-l.com.br/educacao/programacao-shell-linux/ <https://www.dicas-l.com.br/educacao/programacao-shell-linux/>** * *Também damos treinamento em sua empresa* *em qualquer cidade**, **com certificado **e nota fiscal.*
[Prev in Thread] | Current Thread | [Next in Thread] |