Sua entrada parece ser semelhante a C, então seria melhor, em teoria, analisá-la com um analisador C. Se você usa expressões regulares, mesmo para tarefas simples, você tem que lidar com espaços variados, entradas de várias linhas, etc. O problema é que os analisadores C não analisam comentários e, aparentemente, você deseja fazer isso.
Aqui está um script perl que fornece a saída esperada para sua amostra.
#!/usr/bin/perl -n
#
BEGIN { $i = 0; }
if (m!^\s*(.+)\s+([^ ]+);\s*/\*\s*(\d+)\s*(\d+)\s*\*/\s*$!)
{
print "$i,$1,$2,$3,$4\n";
$i+=1
}
Se você salvar este script como script.pl
na pasta em que input.txt
é, use-o como tal:
./script.pl < input.txt > output.txt