Вы можете добавить строку awk
в конец вашей команды. Например,
sort words.txt | uniq -c | awk '{print $2","$1}'
По сути, он берет второй столбец и помещает его перед первым столбцом, разделяя его запятой. Не знаю, насколько дорого его запускать на 30-40Gb файле.
С оболочкой zsh
, с:
string="保存 = Save for example.
Also including newlines,
'quotes and \backslashes"
() {
local LC_ALL=C
quoted=${${(qqqq)1}#'$'}
} "$string"
printf '%s\n' $quoted
Дает:
'\344\277\235\345\255\230 = Save for example.\nAlso including newlines,\n\'quotes and \\backslashes'
Если вы хотите преобразовать в\ooo
:
printf %s "$string" |
perl -l -0777 -pe 's/[\x80-\xff]/sprintf "\\%o", ord$&/ge'
дало бы (из любой борновской -подобной оболочки):
\344\277\235\345\255\230 = Save for example.
Also including newlines,
'quotes and \backslashes