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.txtapenas 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/'