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
Last activity: Jan 7, 2022, 03:04 PM