Combine duas operações em um comando - awk

3

Eu preciso mudar

FROM

Car
Bus

PARA

Helicopter
Airplane

Estes dois comandos são suficientes.

awk -i inplace '{sub(/Car/,"Helicopter")}1' file
awk -i inplace '{sub(/Bus/,"Airplane")}1' file

E este comando também é suficiente.

sed -e 's/Car/Helicopter/' \
    -e 's/Bus/Airplane/' \
    -i file

Em "awk" é possível combinar duas operações em um comando como "sed".

Obrigado antecipadamente!

    
por Sabrina 06.01.2017 / 10:25

1 resposta

2

Experimente assim:

awk -i inplace '{sub(/Car/,"Helicopter")} {sub(/Bus/,"Airplane")}1' file

Agora você tem 3% de blocosCondition {Action}. 1 é um caso especial de um bloco condition {action} .

Ou tente isto:

awk -i inplace '{sub(/Car/,"Helicopter") ; sub(/Bus/,"Airplane")}1' file

, porque um bloco de ação pode ter mais de uma instrução.

    
por 06.01.2017 / 11:25

Tags