GNU/Linux >> Linux の 問題 >  >> Linux

Bashで文字列を16進数として読み取る方法は?

私はバッシュラインを持っています:

expr substr $SUPERBLOCK 64 8

これは私に返される文字列行です:

00080000

これは、実際には、リトルエンディアンで0x00080000であることを私は知っています。 0x80000のようなビッグエンディアンのbashで整数変数を作成する方法はありますか?

承認された回答:

おそらくこれを行うためのより良い方法ですが、数値を10進数に変換してから、16進数に戻す(そして手動で0xを追加する)このソリューションを考え出しました。 ):

printf '0x%x\n' "$((16#00080000))"

次のように書くことができます:

printf '0x%x\n' "$((16#$(expr substr "$SUPERBLOCK" 64 8)))"

Linux
  1. Bashが実行されているTtyを取得する方法は?

  2. Bashスクリプトで文字列を分割する方法

  3. Bashで文字列の長さを見つける方法[クイックヒント]

  1. 文字列にBashの部分文字列が含まれているかどうかを確認する方法

  2. Bashで変数が数値かどうかをテストするにはどうすればよいですか?

  3. Bash で、ファイルの各行の後に文字列を追加するにはどうすればよいですか?

  1. Linux シェル スクリプト:16 進数からバイナリ文字列へ

  2. bash プロンプトにアイコンを追加する方法

  3. bashで文字列内の単語のインデックスを見つける方法は?