acrescentar% 200 no final de uma linha “endereço 1.1.1.1” [duplicado]

0

Eu preciso adicionar %200 no final se "endereço 1.1.1.1". Eu estou usando o bash no linux se alguém puder me avisar.

Atual

ltm node /test/10.90.0.1 {
    address 10.90.0.1
}
ltm node /test/10.90.0.12 {
    address 10.90.0.12
}

ltm node /test/10.90.0.50 {
address 10.90.0.50      
}

Desejado, com inserção de %200

ltm node /test/10.90.0.1 {
    address 10.90.0.1%200
}
ltm node /test/10.90.0.12 {
    address 10.90.0.12%200   
}
ltm node /test/10.90.0.50 {
    address 10.90.0.50%200
}
    
por Vegeta 09.12.2016 / 23:09

2 respostas

2

Eu proponho isso com awk :

awk '/address/ && sub("$","%200") || 1' file.txt

ou com sed :

sed '/address/ s/$/%200/' file.txt

Se você usar a opção -i , editará seu arquivo diretamente.

    
por 09.12.2016 / 23:25
2

Isso alcança o que você está solicitando.

sed 's/address.*/&%200/' current.txt

Exemplo:

$ sed 's/address.*/&%200/' current.txt
ltm node /test/10.90.0.1 {
    address 10.90.0.1%200
}
ltm node /test/10.90.0.12 {
    address 10.90.0.12%200
}

ltm node /test/10.90.0.50 {
address 10.90.0.50%200
}
$
    
por 09.12.2016 / 23:52