Подождите, вы не можете просто использовать printf
в других ауках?Это не будет работать с gawk, но это работает с другими awk, верно?Например, с mawk:
$ mawk 'BEGIN{FS=OFS="="}{$NF=sprintf("%d", $NF);print}' file
12 , maze|style=0x48570006, column area #=0x7, location=8388621
13 , maze|style=0x48570005, column area #=0x7, location=8432141
Я тестировал с mawk, awk-20070501, awk-20121220 и Busybox awk.
Брошено после редактирования, но оставлено для комментариев:
Использование rev
и cut
для извлечения около последнего =
и printf
для преобразования в hex2dec:
$ while IFS='' read -r line || [[ -n "$line" ]]
do
printf "%s=%d\n" "$(echo "$line" | rev | cut -d = -f 2- | rev)" \
$(echo "$line" | rev | cut -d = -f 1 | rev)
done < file
Вывод:
12 , maze|style=0x48570006, column area #=0x7, location=8388621
13 , maze|style=0x48570005, column area #=0x7, location=8432141