相當新手的問題,但我陷入了一段時間:我有一個問題,讀取和解析存儲在硬盤驅動器上的字符串的地址我知道...在MINIX中使用od從二進制讀取一個以空字符結尾的字符串變爲
我不知道字符串的長度,只有它的最大長度說n
。它已被寫入n
緩衝區以零開始,所以它的hexdump類似於xx xx xx xx 00 00 00 00 00
,其中xx
的十六進制爲正確的字符串字符。
所以我知道該字符串的地址,我把它複製到二進制文件tmp
使用使用dd if=<hd> of=tmp
(適當BS /計數/跳到獲得n
字節的緩衝區)。然後在bash(或者更確切地說,在MINIX灰要準確)我嘗試使用od
解析它並讀入變量,但我無法擺脫空間/空的:
name=$(od -Anx -tc tmp)
echo $name
,我得到J O H N \0 \0 \0 \0 \0
而不是簡單地JOHN
你可以嘗試將其通過'strings'如果是字符串等。 –
'name = $(od -Anx -tc <(sed's/\ x00 // g'tmp))' – 123
你可以在這裏粘貼'cat -e tmp'的輸出嗎? –