Puedes hacer esto con tuberías:
./myCMD | grep keyword > tmp
Esto solo escribirá líneas que contengan "palabra clave" en el archivo tmp
.
Si desea ver el resultado completo, pero solo registra un subconjunto en un archivo, agreguetee
(suponiendo que su shell admita la sustitución de procesos):
./myCMD | tee >(grep keyword > tmp)
Можно задержать печать на строку, а затем использовать блок END
:
awk 'NR > 1 {print line} {line = $0} END {printf "%s\n%s\n", "something added here", line}'
Я сохраняю текущую строку в line
, а затем печатаю в следующей итерации. В блоке END
, следовательно, line
- это последняя строка, которая еще не была напечатана.
$ printf "%s\n" {1..4} | awk 'NR > 1{print line} {line = $0} END {printf "%s\n%s\n", "something added here", line}'
1
2
3
something added here
4