Как найти все шестнадцатеричные числа между двумя номерами

Я хочу написать небольшую функцию, которая поможет мне определить все шестнадцатеричные числа, присутствующие между двумя числами.

input.txt :

 2E25:2E30 

Желаемый результат:

 2E25 2E26 2E27 2E28 2E29 2E2A 2E2B 2E2C 2E2D 2E2E 2E2F 2E30 

Мне нужно добиться этого в сценарии оболочки, используя KSH, а ОС – Solaris 9.

One Solution collect form web for “Как найти все шестнадцатеричные числа между двумя номерами”

Вот один подход с использованием только встроенных оболочек:

 $ IFS=: read start end < input.txt $ for (( x=16#$start; x<=16#$end; x++ )); do printf "%X\n" $x; done 2E25 2E26 2E27 2E28 2E29 2E2A 2E2B 2E2C 2E2D 2E2E 2E2F 2E30 

Сначала мы читаем начальные и конечные параметры с диска. Затем мы выполняем цикл, интерпретируя значения как шестнадцатеричные числа (см. Раздел « Arithmetic Evaluation » ksh manpage для обсуждения конструкции [base#]n ), а затем печатайте каждую запись, форматируя ее как шестнадцатеричную.

Обратите внимание: я не использую ksh регулярно, скорее всего, лучший подход к этой проблеме.

  • Как получить дату с двухнедельной давности с использованием даты Solaris?
  • Установка переменных из оболочки: как их использовать в скрипте?
  • sed - не добавляет новую строку EOF и заменяет букву не определенной
  • добавить имя файла в текст в углу файла изображения
  • Отображать заголовки с помощью vimdiff или vim -d
  • Использовать звездочку в переменных
  • Создание сценария Bash, который будет выполнять программу, и если он выйдет без сбоев, снова запустит его
  • Понимание сценария сигнала
  • Как создать каталог для каждого файла в родительском каталоге
  • Как обновить даты (на 30 дней) в файлах, идущих в это конкретное место в unix?
  • помощь со сценарием; если статус - это то, что если не сделать что-то еще
  • Linux и Unix - лучшая ОС в мире.