我正在嘗試使批處理腳本在文本檔案中以自己的行輸出每個資料包 ASCII。我正在使用帶有 tshark 和 awk 的 Windows 命令提示符。
批處理看起來像這樣。我想要下面的腳本
@ECHO OFF
tshark -r "PCAP" --hexdump delimit | awk -f "awk script" >> "txt file path"
來自 tshark 的輸出
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .p].....cY....d.
0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...dd........^..
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........H.2P.
0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........76561
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1942342342334.b4
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ea042342344 0f6
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1d8800000000ea..
0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..45345343534in6
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4.~3453535353N..
0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2323221 .353134f
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dc534234234b054e
00b0 00 00 00 00 00 00 00 00 00 00 3124342c....
我希望將其存盤在文本檔案中。所需的輸出到文本檔案。
.p].....cY....d....dd........^.............H.2P.1942342342334.b4
.p].....cY....d....dd........^.............H.2P.1942342342334.b4
.p].....cY....d....dd........^.............H.2P.1942342342334.b4
.p].....cY....d....dd........^.............H.2P.1942342342334.b4
uj5u.com熱心網友回復:
我會AWK按照以下方式利用 GNU 來完成這項任務,讓file.txt內容成為
0000 a5 70 5d ca 13 fe 00 d9 61 59 c7 95 08 00 45 00 .p].....aY....E.
0010 00 ac ec 80 40 00 80 06 00 00 0a 00 00 5e c6 f4 ...p@........^..
0020 c4 e2 c1 10 18 e1 e6 cc d3 f6 f9 48 c0 3f 50 18 ...........H.?P.
0030 11 00 9a d5 00 00 82 00 87 11 00 37 36 35 36 31 ...........76561
0040 31 39 38 34 33 39 33 35 33 38 33 33 20 00 62 34 192439253833 .b4
0050 65 61 30 33 30 63 35 31 39 63 33 30 63 30 66 36 ea035c515c30c0f6
0060 31 64 38 38 64 36 66 36 33 65 36 34 65 61 00 00 1d88d6f62e64ea..
0070 08 00 31 2e 30 2e 36 2e 31 37 05 00 57 69 6e 36 ..1.0.4.12..Win6
0080 34 c0 7e 04 22 07 00 55 4e 4b 4e 4f 57 4e 04 00 4.~."..UNKNOWN..
0090 42 41 44 31 20 00 66 38 38 35 35 32 31 33 34 66 BAD1 .f88552134f
00a0 64 63 31 37 61 33 32 32 37 31 32 62 30 35 34 65 dc17a322712b054e
00b0 33 31 32 36 32 63 00 00 00 00 31262c....
然后
awk 'BEGIN{ORS=""}{print substr($0,57)}' file.txt
給出輸出
.p].....aY....E....p@........^.............H.?P............76561192439253833 .b4ea035c515c30c0f61d88d6f62e64ea....1.0.4.12..Win64.~."..UNKNOWN..BAD1 .f88552134fdc17a322712b054e31262c....
說明:我通知 GNUAWK輸出行分隔符 ( ORS) 是空字串,因此在printing 時沒有追加任何內容,然后對于每一行,我使用substr函式獲取$0從第 57 個字符和print它開始的整行 ( ) 的子字串。如果您想了解更多資訊ORS,請閱讀8 個強大的 Awk 內置變數 - FS、OFS、RS、ORS、NR、NF、FILENAME、FNR
(在 gawk 4.2.1 中測驗)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/515740.html
標籤:批处理文件awk沙克
上一篇:啟動回圈時批處理不會隨機作業
下一篇:將ON分配給變數
