如何將檔案中的8進位跟ASCII轉成16進位 - Linux

Table of Contents

如題,如果我有個LOG檔如下:
write(4, "\240", 1) = 1
read(4, "_", 1) = 1
write(4, "\n", 1) = 1
read(4, "\365", 1) = 1
write(4, "P", 1) = 1
read(4, "\257", 1) = 1
write(4, "\5", 1) = 1
read(4, "\372", 1) = 1
write(4, "\375", 1) = 1
read(4, "\375", 1) = 1
read(4, "e\200", 2) = 2
那我能夠用Shell Script去把裡面的8進位跟ASCII轉換成16進位嗎?
我有試著研究了sed跟awk....不過感覺好像沒辦法做到?(或是我功力太淺了)

另外順便再問一下,為何我用strace去抓出來的東西都是用8進位顯示呀?
然後128以下的就顯示成ASCII,這樣真的有夠難讀的耶,
好像也沒看到參數可以改成16進位,而且好像8進位在LINUX很常看到,
這是為何呀?

--
尋找理想中的房子~

--

All Comments

Franklin avatarFranklin2017-11-11
用 xxd 吧
Jack avatarJack2017-11-15
和 od
Noah avatarNoah2017-11-16
謝謝樓上,不過我不會用,但我解決了^^
Ophelia avatarOphelia2017-11-19
今天再研究了一下才發現原來strace有個參數叫做-xx...^^