The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



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
gcd.sh script não funciona ... kantze Programação Shell Script e 1 01-17-2008 09:46
Modificar scripts para trabalhar com txt - Permissões script joangopan Programação Shell Script e 1 09-12-2007 11:38
O meu script não funciona - você pode ajudar pls? BearCheese Programação Shell Script e 1 06-29-2007 05:12
Script não funciona, mas dentro comandos trabalho cheongww UNIX para Dummies Perguntas & Respostas 2 11-14-2006 10:52
sed script. Como funciona? billy5 Programação Shell Script e 2 09-02-2005 04:45

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-13-2008
llsmr777 llsmr777 is offline
Usuário
  
 

Join Date: May 2007
Lugares: 58
Ajuda can't get script para funcionar como eu preciso é de ...

Oi agradeço a quem responde.

Aqui está o meu script:
Código:
for i in `ls -1 | grep $1 | grep  $2`
do
x=`echo $i | sed 's/\.Sent/\.Done/g'`
echo mv $i DONE/$x
echo "Is this OK?"
read user_response

case $user_response in

"y"|"Y")
        mv $i DONE/$x
        echo mv $i DONE/$x;;
*)
        echo "No changes made ...";;

esac

done

A lista que se agarra mais do que um arquivo.
Quando executar este pede-me se "Concorda com isso?" para cada arquivo. Quero que apenas cuspir para fora a lista, em seguida, perguntar-me, se eu disser que sim, então eu quero que mova todos os arquivos que enumera.

Obrigado!

Última edição por radoulov; em 10/13/2008 03:07.. Motivo: adicionado código tags
  #2 (permalink)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361
Citação:
Originally Posted by llsmr777 View Post
Oi agradeço a quem responde.

Aqui está o meu script:

Juntar no código [code] tags. (Edite seu post original.)
Citação:
Código:
for i in `ls -1 | grep $1 | grep  $2`

Você não precisa -1 quando a saída não está indo para um terminal.

Você não precisa de duas instâncias grep; Utilização grep-e "$ 1"-e "$ 2".

Você provavelmente não precisará ls, Quer, e vai quebrar se você script qualquer filenames conter espaços.

Se você está tentando obter ficheiros com um determinado padrão, use curingas, por exemplo:

Código:
for i in *$1*$2*
Citação:
Código:
do
x=`echo $i | sed 's/\.Sent/\.Done/g'`

Você não precisa sed:

x \u003d $ (i%%. Enviados *). Feito $ (i) # *. Enviadas
Citação:
Código:
echo mv $i DONE/$x
echo "Is this OK?"
read user_response

case $user_response in

"y"|"Y")
        mv $i DONE/$x
        echo mv $i DONE/$x;;
*)
        echo "No changes made ...";;

esac

done
A lista que se agarra mais do que um arquivo.
Quando executar este pede-me se "Concorda com isso?" para cada arquivo. Quero que apenas cuspir para fora a lista, em seguida, perguntar-me, se eu disser que sim, então eu quero que mova todos os arquivos que enumera.

Se você não quiser ser solicitado para cada arquivo, não colocar a questão dentro do ciclo. Construa uma lista e presentes que fora do circuito fechado.
  #3 (permalink)  
Old 10-13-2008
llsmr777 llsmr777 is offline
Usuário
  
 

Join Date: May 2007
Lugares: 58
Obrigado pela sua resposta.

Pensei que era o meu caso declaração fora do circuito?
  #4 (permalink)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361
Citação:
Originally Posted by llsmr777 View Post
Pensei que era o meu caso declaração fora do circuito?

O ciclo é tudo entre fazer e feito. Isso é onde você está pedindo.
  #5 (permalink)  
Old 10-13-2008
llsmr777 llsmr777 is offline
Usuário
  
 

Join Date: May 2007
Lugares: 58
Ok então eu mudei-o, mas depois ele pede-me que só moveu um arquivo?
Eu não deveria estar a utilizar um processo para executar a declaração jogada?
Eu estou usando-o para perguntar ao usuário se a lista está correta.

Eu pensei que dentro da declaração caso eu deveria colocar aquilo que deveria ser realizada se o usuário diz que não.
Parece que talvez eu não deveria estar usando caso ou que ponha em outro lugar no script?

Eu tenho muito novo por isso, tenha comigo. Obrigado!

Última edição por llsmr777; em 10/13/2008 03:36..
  #6 (permalink)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361
Citação:
Originally Posted by llsmr777 View Post
Ok então eu mudei-o, mas depois ele pede-me que só moveu um arquivo?

O que você fez para mudá-la?
Citação:
Eu não deveria estar a utilizar um processo para executar a declaração jogada?

Um caso declaração não é possível mover nada. Você usa mv para fazer a jogada.
Citação:
Eu estou usando-o para perguntar ao usuário se a lista está correta.

Como você está usando isso? Nós não somos mente leitores.
Citação:
Eu pensei que dentro da declaração caso eu deveria colocar aquilo que deveria ser realizada se o usuário diz que não.

... eo que deve ser realizado quando o recurso diz que sim.
Citação:
Parece que talvez eu não deveria estar usando caso

Sim, você deve usar estojo.
Citação:
ou colocar em outro lugar em que o script?

Não é isso que me sugeriu?
  #7 (permalink)  
Old 10-13-2008
llsmr777 llsmr777 is offline
Usuário
  
 

Join Date: May 2007
Lugares: 58
Oh I'm sorry. I'm clueless obviamente eu sei que isso!

aqui é o meu código

Código:
for i in `ls -1 | grep $1 | grep  $2`
do
x=`echo $i | sed 's/\.Sent/\.Done/g'`
echo mv $i DONE/$x
done
echo "Is this OK?"
read user_response

case $user_response in

"y"|"Y")
        mv $i DONE/$x
        echo moved $i to DONE/$x;;
*)
        echo "No changes made ...";;

esac

Código:
for i in `ls -1 | grep $1 | grep  $2`
do
x=`echo $i | sed 's/\.Sent/\.Done/g'`
echo mv $i DONE/$x
done
Aqui estou compliing minha lista que eu quero mudar a partir de. Enviada. Feito
E então outputing-o para o ecrã

Código:
echo "Is this OK?"
read user_response
Aqui eu perguntar se o output é o que o utilizador pretende avançar


Código:
case $user_response in

"y"|"Y")

        for i in `ls -1 | grep $1 | grep  $2`
        do
        x=`echo $i | sed 's/\.Sent/\.Done/g'`
        mv $i DONE/$x;;
*)
        echo "No changes made ...";;

esac
Aqui eu quero os arquivos a serem movidos a partir de. Enviada. Feito e, em seguida, se o usuário diz Y
e para imprimir a tela "Nenhuma alteração foi feita", se o utilizador diz que não

Quando eu executar o script que lista todos os arquivos
em seguida, pergunta-me se está ok
quando eu bati em Y
E eu faço uma lista apenas 1 dos arquivos listados foram movidos não todos.

Obrigado novamente.

Última edição por llsmr777; em 10/13/2008 04:47..
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 01:57.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0