![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| mudar extensão de raiz e subdiretórios | Astrid | Programação Shell Script e | 10 | 02-17-2008 07:18 |
| extensão problema, por favor, ajude | sharmasdeepti | UNIX para Dummies Perguntas & Respostas | 1 | 10-24-2007 08:29 |
| sem prorrogação | adurga | UNIX para Dummies Perguntas & Respostas | 3 | 07-02-2007 01:34 |
| Mudar extensão | mohan705 | Programação Shell Script e | 4 | 06-30-2007 02:06 |
| Como faço para alterar extensão | kswaraj | Programação Shell Script e | 2 | 06-28-2004 09:07 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Como você escrever um script que mude a extensão de todos os arquivos?
por exemplo chext rtf doc onde. rtf é a extensão original e. doc é a nova extensão é algo a ver com basename? eu preciso de um ciclo? Por favor, me ajude! Unix SuperNewbie |
|
||||
|
você irá perceber que fazer uma pesquisa sobre estes fóruns iria lhe dar mais ideias ... para exampe Procurei "renomear arquivos" e eu tenho este link ...
Maneira fácil de massa renomear arquivos? Tenho apenas modificou um pequeno pedaço de código a partir do link acima ... Citação:
Vishnu. |
|
||||
|
Eu posso fazer funcionar o script como segue:
#! / bin / sh para o nome de `ls *. rtf» fazer name1 \u003d `echo $ nome | cut-f 1-d. » mv $ name1.rtf $ name1.doc feito está a trabalhar bem, mas como faço para que ele funcione como este: chext 1 2 onde 1 é a extensão original e 2 é a nova extensão desejo? |
|
||||
|
substituem as "rtf" e "doc" com US $ 1 e $ 2, em seu script ... Gostaria de acrescentar que o caminho acima usando o "corte" não vai funcionar se você tem vários pontos em seu nome ... Código:
#!/bin/sh for name in `ls *.$1` do name1=`echo $name | sed -e "s/^\(.*\)\.$1$/\1\.$2/g"` mv $name $name1 done ou uma versão mais compacta e mais rápido que eu prefiro ... Código:
#!/bin/sh ls *.$1 | sed -e "s/^\(.*\)\.$1$/\1\.$1 \1\.$2/g" | xargs -n 2 mv -f Felicidades! Vishnu. |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|