Você pode print
ou printf
direto para um arquivo em awk
e fechá-lo após cada gravação. Isso tornaria awk
reabrir e truncá-lo na próxima impressão.
awk -vfile=test.out '{print $0 > file; close(file)}'
(Estritamente falando, você tem uma condição de corrida aqui, outro processo pode tentar ler o arquivo apenas entre o truncate e escrever, então parece vazio (ou pior, mas menos provável, parcial). )