Tente:
$ awk '$3 ~ /^r/ {$2 = $3}1' file
223 898 teeth
223 899 mouth
223 r9 r9
445 round round
Isso combina a pesquisa e a impressão em um único comando awk
, em vez de usar grep
& %código%. O awk
acima encontrará apenas as linhas em que o 3º campo começa com $3 ~ /^r/
. Nessas situações, r
substituirá o 3º campo pelo 2º campo.
Se você ficou confuso com o% trailing awk
, está fazendo o seguinte. Ele é avaliado como verdadeiro, fazendo com que 1
execute sua operação padrão, awk
.