C-shell

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á!
 
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:
Back
Topo