1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C-shell

Discussão em 'Programação' iniciada por Machacaz, 27 de Junho de 2008. (Respostas: 1; Visualizações: 529)

  1. Machacaz

    Machacaz Power Member

    Saudações.
    Tenho de fazer um trabalho para a escola em C-Shell e um dos tópicos é a subsituição de uma string por outra no ficheiro.
    Ora isso é feito com o comando sed.
    A testar, com um ficheiro que chamei de abeta a coisa funciona:

    Código:
    sed 's/Ricardo/Ricardo e pato/g' abeta > c
    
    No entanto, no contexto do código não... alguma ideia pq não? :
    Código:
    echo "Escreva o ficheiro (na totalidade), q - voltar"
            set nFoca = "$<"
            
            switch ($nFoca)
            
                    case q:
                    goto d
                    breaksw
                    
                    default:
                    cat ${nFoca}
                    echo "------"
                    echo "Insira string a substituir: "
                    set word1 = "$<"
                    echo "Insira a string subsituta: "
                    set word2 = "$<"
                    sed 's/${n}/${word1}/${word2}/g' ${nFoca} > tmp
                    rm ${nFoca}
                    mv temp ${nFoca}
                    cat ${nFoca}
                    echo "-----"
                    
                    sleep 5
                    goto menu1
                    breaksw
            endsw
    
    
    Obrigado desde já!
     
  2. Dei uma vista de olhos ao teu script, fiz algumas alteracoes:

    Código:
    #!/bin/tcsh
    echo "Escreva o ficheiro (na totalidade), q - voltar"
            set nFoca = "$<"
    
            switch ($nFoca)
    
                    case q:
                    goto d
                    breaksw
    
                    default:
                    cat ${nFoca}
                    echo "------"
                    echo "Insira string a substituir: "
                    set word1 = "$<"
                    echo "Insira a string subsituta: "
                    set word2 = "$<"
                    cat $nFoca |sed -e "s/${word1}/${word2}/g"  > temp
                    mv temp $nFoca
                    cat $nFoca
                    echo "-----"
    #espero k isto te ajude de alguma forma! :)
     
    Última edição pelo moderador: 29 de Junho de 2008

Partilhar esta Página