Em vi
:
:%s/^HOST/#&/
ou
:g/^HOST/s/^/#/
O %
no primeiro comando significa "em todo o buffer" e é uma forma breve de dizer 1,$
, ou seja, da primeira linha até a última. &
na parte de substituição da substituição será substituído pelo texto inteiro correspondido pelo padrão ( ^HOST
).
O segundo comando aplica a substituição ( s
) a todas as linhas correspondentes a ^HOST
usando o comando global ( g
), que vi
herdou do editor de linha ed
. No segundo caso, apenas inserimos #
no início da linha ( ^
).
com sed
:
sed 's/^HOST/#&/' input >output
ou
sed '/^HOST/s/^/#/' input >output
da mesma maneira que em vi
( sed
sempre aplica todos os comandos a todas as linhas do fluxo de entrada, por isso não usamos nada como %
ou g
explicitamente com sed
).