[問題] 如何將檔案中的8進位跟ASCII轉成16進位

看板Linux作者 (找房子找房子找房子~)時間8年前 (2017/11/10 11:37), 編輯推噓0(004)
留言4則, 2人參與, 8年前最新討論串1/1
如題,如果我有個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很常看到, 這是為何呀? -- 尋找理想中的房子~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 150.116.183.188 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1510285022.A.804.html

11/10 11:57, 8年前 , 1F
用 xxd 吧
11/10 11:57, 1F

11/10 11:58, 8年前 , 2F
和 od
11/10 11:58, 2F

11/10 12:29, 8年前 , 3F
謝謝樓上,不過我不會用,但我解決了^^
11/10 12:29, 3F

11/10 12:30, 8年前 , 4F
今天再研究了一下才發現原來strace有個參數叫做-xx...^^
11/10 12:30, 4F
文章代碼(AID): #1Q1HxUW4 (Linux)
文章代碼(AID): #1Q1HxUW4 (Linux)