cat command substituir texto Script de shell do Linux

1

Eu tenho um arquivo de script de shell. Existe código como: <tag>port:8080</tag> .
Eu quero substituir esta linha de código com outra linha de código: <tag>port:3128</tag> .
Como faço isso?
Eu usei cat , mas removeu todas as linhas de código e só adicionou este código line..can alguém me diga como substituir o texto em scripts de shell?
Foi assim que tentei:

cat <<EOF > /home/samples/pom.xml
<tag>port:3128</tag>
EOF
    
por Sajith Vijesekara 16.07.2014 / 10:33

2 respostas

0

O comando geral é sed -i 's/old/new/g' yourfile .
Mas você tem que escapar de caracteres especiais com \ .

Então o comando é: sed -i 's/<tag>port:8080<\/tag>/<tag>port:3128<\/tag>/g' /home/samples/pom.xml

Para o caminho é ::
sed -i 's/<path>home\/user\/location<\/path>/<path>\/user\/tmp\/location2<\/path>/g' /path/to/file

    
por Pabi 16.07.2014 / 10:48
0

Supondo que seu arquivo seja YOURFILE no diretório atual, tente sed -i 's/8080/3128/g' YOURFILE

Isso substituirá todas as ocorrências de 8080 por 3128.

    
por noleti 16.07.2014 / 10:41