Se você quer dizer que deseja apenas algumas linhas para o arquivo tmp
, enquanto o resto não é alterado:
cmd | awk '/pattern/ {print > "tmp"; next}
{print}'
Ou:
cmd | sed '/pattern/!b
w tmp
d'
(em uma linha: cmd | sed -e '/pattern/!b' -e 'w tmp' -e d
)
Ou:
cmd | sed '/pattern/ {
w tmp
d
}'
(em uma linha: cmd | sed -e '/pattern/{w tmp' -e 'd;}'
)
Observe que, para sed
, pattern
é uma expressão regular básica , enquanto para awk
, é uma expressão regular estendida .