Você não precisa de um script para uma coisa tão simples. Você pode usar awk
:
awk ' ~ "^[0-9][0-9]*$" { print }' file.txt | head -n -1 | awk '{print}' ORS=',' | sed 's/,$/\n/'
Algumas explicações:
-
awk ' ~ "^[0-9][0-9]*$" { print }' file.txt
- imprima a partir dofile.txt
apenas os campos que são números. -
head -n -1
- remove a última linha / último número. -
awk '{print}' ORS=','
- concatena todas as linhas em uma única linha, cada número separado por,
. -
sed 's/,$/\n/'
- substitua a última,
por um caractere de nova linha.
Ou mais curto:
awk ' ~ "^[0-9][0-9]*$" { print }' ORS=',' file.txt | sed 's/,[0-9]*,$/\n/'