2つの数字の間にあるすべての16進数を決定する小さな関数を作成したいと思います。
input.txt
:
2E25:2E30
希望の出力:
2E25
2E26
2E27
2E28
2E29
2E2A
2E2B
2E2C
2E2D
2E2E
2E2F
2E30
KSHを使用するシェルスクリプトでこれを達成する必要があり、オペレーティングシステムはSolaris 9です。
答え1
シェル組み込み機能の使用方法は次のとおりです。
$ 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
まず、ディスクから開始パラメータと終了パラメータを読みます。次に、値を16進数として解釈し(Arithmetic Evaluation
構成の説明についてはマンページのセクションを参照)、各項目を印刷して16進形式で指定します。ksh
[base#]n
私はksh
これを頻繁に使用せず、この問題を解決するより良い方法があるかもしれません。