В немного другом вопросе от this other, я хотел бы преобразовать любое число в текстовом файле с десятичным в шестнадцатеричный.Shell: преобразование любого числа в текстовый файл от десятичного до шестнадцатеричного
Число здесь определено a set of numeric characters together
.
Пример:
$ cat MyFile.txt
Hello,10,Good255Bye-boys01
должны стать:
Hello,0A,GoodFFBye-boys01
Действительно слишком:
Hello,A,GoodFFBye-boys1
методы, которые позволяют (первый случай), чтобы определить характер широкого (для получения 0A
вместо от A
).
Я испытал grep
для извлечения номера по конвейеру bc
преобразовать их:
(echo "obase=16" ; cat Line.txt |grep -o '[0-9]*') | bc
, но этот метод показывает только один (преобразованного в шестнадцатеричном) номер каждой строки, и удаляет остальные символы.
Опубликовать ваши попытки. –
Bash не является правильным выбором. Вам нужно что-то с лучшими возможностями регулярного выражения. Например, это тривиально в Python с 're.sub'. – 4ae1e1
На самом деле, глядя на этот предыдущий вопрос, я удивляюсь, почему вы не приняли ни одного из ответов, поскольку они, похоже, делают именно то, что вы просили. До сих пор вы только принимали ответы на 6 из 37 вопросов. – usr2564301