Eu acredito Ctrl- Cpode ser preso em scripts bash. Também é possível prendê-lo dentro de um script do Awk para lidar com esse evento?
Por exemplo, para interromper o processamento, mas imprimir os resultados do que já foi processado, em vez de simplesmente sair silenciosamente?
shell-script
awk
trap
Eugene Beresovsky
fonte
fonte
Respostas:
Não conheço nenhuma
awk
implementação que tenha suporte para isso. Você poderia escrever uma extensão paragawk
isso , mas aqui, prefiro mudar para outro idioma.perl
facilita a conversão deawk
scripts com seua2p
script.Por exemplo, se você tiver um
awk
script como:a2p
nele lhe dará algo como:Que você pode editar para adicionar seu tratamento de sinal (e remover o processamento de
var=value
argumentos que não queremos aqui e a parte destinada a sistemas que não suportam#!
):Outra alternativa pode ser a interromper a alimentação de dados para
awk
, e têmawk
ignorar o SIGINT, como em vez de:Faz:
Ctrl+Centão matará
cat
mas nãoawk
.awk
ainda continuará processando a entrada restante ainda no tubo.Para detectar a Ctrl+Cno
awk
, você poderia fazer:fonte