Не могли бы вы попробовать следующее.
awk '{$0=tolower($0);gsub(/[a-z]/,"&,");sub(/,$/,"")} 1' Input_file
Объяснение: Сначала преобразование всей строки в строчные буквы tolower
, затем глобально замените каждую букву буквой и ,
. Наконец, заменив последнее появившееся ,
на NULL, а затем указав 1
, напечатав отредактированную строку.
2-е решение: Использование GNU sed
:
sed 's/[[:alpha:]]/\L&,/g;s/,$//' Input_file