Em awk, a sintaxe geral é o endereço seguido por um bloco de códigos, em que "endereço" é um número de linha ou um /regex/
ou um intervalo from,to
separado por vírgulas.
Então, se você quiser combinar as linhas que começam com X e aplicar uma substituição a elas:
/^X/ { gsub(/ /, ""); } { print; }
(O segundo bloco é sem endereço, então imprime todas as linhas.)
A sintaxe sed é semelhante, exceto que os comandos são mais curtos ( s/…/…/
para substituição) e blocos de comando único não precisam das chaves. Assim, a mesma tarefa pode ser executada no sed usando:
/^X/ { s/ //g; }
ou o menor
/^X/ s/ //g
(Sed também não precisa de um bloco "print" explícito já que a impressão já é o padrão, a menos que -n seja dado. Mas tem um comando de impressão p
.)