Sample Header Ad - 728x90

Modify and Replace $1 (awk) or \1 (sed) Values from Decimal to Hexadecimal Globally in a String?

1 vote
3 answers
1013 views
Is it possible to Modify and Replace $1 (awk) or \1 (sed) Values from Decimal to Hexadecimal Globally in a String? It is possible that the string may contain any decimal value, which needs to be modified and replaced with its hexadecimal equivalent. awk example: echo "/Test-Test-Test-Test-Test/Test/Test/" | awk '{gsub("&#([0-9]+);", $1, $0); print}' sed example: echo "/Test-Test-Test-Test-Test/Test/Test/" | sed -E 's/&#([0-9]+);/$(printf "%X" \1)/g;' echo "/Test-Test-Test-Test-Test/Test/Test/" | sed -E 's/&#([0-9]+);/$(echo "obase=16; \1" | bc)/g;' I've attempted to subexec and pipe with printf "%X" and bc, but have been unable to combine the two for the resulting decimal to hexadecimal modification and replacement. expected output: %2FTest%2DTest%2DTest%2DTest%2DTest%2FTest%2FTest%2F Your assistance is greatly appreciated.
Asked by Gary C. New (25 rep)
Jan 5, 2022, 12:53 AM
Last activity: Jan 7, 2022, 03:04 PM