Eu não sei porque você está copiando as coisas para a esquerda e para a direita. O simples é
awk '{print "-" $2, substr($5,2,length($5)-2), "+", $4, ";"}' File1
Eu coloco o - no começo e o ; no final.
Entre nós imprimimos
-
$2porque queremos como é. - uma substring de
$5, que é o string sem o primeiro e o último caractere. Nós pulamos o primeiro personagem começando na posição 2 (awk sempre foi estranho sobre isso) e deixar de fora o último caractere, selecionando apenas um substring que é dois caracteres menor que o original$5 - o
+porque queremos - e, em seguida,
$4
No entanto, não tenho certeza se todas essas funções de string são específicas do GNU awk.