![]() |
|
|
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 |
| Detecção de receber arquivos sem ocupado sondagens | baldyeti | Programação Shell Script e | 9 | 08-15-2008 12:06 |
| script para encontrar o número médio ou arquivos? | bbbngowc | Programação Shell Script e | 2 | 03-27-2008 12:57 |
| executar um script de receber e-mail | jojo77 | UNIX para Dummies Perguntas & Respostas | 7 | 02-22-2008 01:48 |
| encontrar número de pedidos recebidos para um servidor | laddu | UNIX para Dummies Perguntas & Respostas | 1 | 03-10-2007 01:48 |
| awk script para encontrar o número de ficheiros | uni_ajay_r | Programação Shell Script e | 4 | 10-31-2006 06:58 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Script número de arquivos recebidos
Hey guys,
Estou trabalhando em um script Cshell e estou preso em uma parte deste. Preciso ser capaz de copiar arquivos no diretório, mas a minha dar-lhes nomes diferentes para que não substituir-se mutuamente. Por exemplo, a minha pasta já contém FILE.1 Eu quero o meu nome script para o próximo arquivo copiado para FILE.2 e um FILE.3 a próxima e assim por diante. Deve ser capaz de dizer quais arquivos existem e nomeou o novo um valor mais elevado na próxima. Então eu tenho FILE.1, FILE.2, e em meu diretório FILE.3 Agora, se eu copiar em outro arquivo, o meu script deve renomeá-lo FILE.4 Este script foi dirigindo-me nozes todos os dias que eu não posso figura fora. Aqui está o que tenho até agora. Thanks in advance. Novo código seria apreciado porque, obviamente, não têm idéia do que estou fazendo nesta peça. Código:
while (-d FILE.0)
cp -r FILE FILE.1
set ctr = 1
foreach f(*)
set var1 = 'file $f | awk '{printf "%s\n",$3}''
if ($var1 == 1) then
FILE = 'ls $f | cut -f1 -d "."'
1 = 'ls $f | awk -F "." '{printf "%s\n",$2}''
mv $f $FILE$ctr.$1
ctr = 'expr $ctr + 1'
endif
end
end
|
|
||||
|
Código:
#!/bin/sh
i=1
while(a=1)
do
if test -e "FILE."$i
then
let i+=1
else
break
fi
done
cp -f FILE FILE.$i
Última edição por wabard; em 03/19/2009 08:53.. Motivo: Corrigido o argumento de linha de comando cp-f-a partir de r (eu digitei a opção errada, r e f estão perto no teclado .. lol) |
|
||||
|
Dummy para forçar o tempo de ciclo para sempre ... sair fora do loop infinito com o "break" declaração. Nota: Eu cometi um erro no "pc" opção de linha de comando no exemplo acima (corrigida e anotada). |
|
||||
|
abaixo podem ajudá-lo a algum
Código:
name=`for i in dir1/*
do
echo $i | sed 's/^\(.*\/\)\([^0-9]*\)\(.*\)/\2 \3/'
done | sort -n +1 | tail -1 | awk '{print $1""($2+1)}'`
cp file_to_be_copied dir1/$name
|
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|