使用 awk cut 進行字元文字處理

2021-06-19 06:07:51 字數 789 閱讀 3837

為分析程式的訪存規律,使用 fprintf 方法列印了每次訪存時的記憶體位址,形成了數千行 0x... 開頭的 12 位位址資訊,要在 excel 中處理這些位址需要將 0x 及位址的前三位去掉,一是因為所有位址的前三位均相同,二是 excel 的轉換函式 hex2dec() 無法處理8位以上的 16 進製數。

主要變換過程為:0x2b9711fe5de0 --> =hex2dec("711fe5de0")

這樣將文字直接貼上到 excel 中即變成十進位制數。

$  cat mem_addr_1read.txt | cut -c 6- > cut_addr.txt

使用上述命令擷取位址第6位以後的字元,將 0x 及前 3 位去掉,並重定向到 cut_addr.txt 檔案中。

0x2b9711fe5de0 --> 711fe5de0

$ cat cut_addr.txt | awk '' > hex2dec.txt

使用上述命令將字串首部分新增到文字中。

711fe5de0 --> =hex2dec("711fe5de0

$  cat hex2dec.txt | awk '' > excel_ready.txt

使用上述命令將字串尾部分新增到文字中。

=hex2dec("711fe5de0 --> =hex2dec("711fe5de0")

因為原文字檔案已是一行乙個記憶體位址,所以將檔案內容全選複製,直接貼上到 excel 即可。

使用awk進行文字處理

有過大文字處理經歷的朋友一定都知道awk,這是一種指令碼語言,對於處理一定格式的資料還是很方便使用的。下面介紹一下awk的常用方法。如果想系統學習,請看 1 awk的內建變數 awk 所內建的字段變數及其涵意如下 字段變數 含義 0 一字串,其內容為目前 awk 所讀入的資料行.1 0 上第乙個欄位...

awk進行文字處理

1 awk的內建變數 awk 所內建的字段變數及其涵意如下 字段變數 含義 0 一字串,其內容為目前 awk 所讀入的資料行.1 0 上第乙個欄位的資料.2 0 上第二個欄位的資料.其餘類推 內建變數 含義nf number of fields 為一整數,其值表 0上所存在的字段數目.nr numb...

Python進行文字處理

對於乙個文字字串,可以使用python的string.split 方法將其切割。下面看看實際執行效果。mysent this book is the best book on python print mysent.split 輸出 this book is the best book on pyt...