這並不完全清楚你打算做什麼,但這裏有一些可以作爲開始。根據需要,用更實質的處理替換print
聲明。
awk '
/^[ 0-9][0-9]/{
# This is a record header line. Check if it is a TX.
inTx = ($0 ~/TX\([0-9]*\)$/);
if (inTx) {
print "Start of TX record.";
next; # Avoid printing the header line below.
}
}
inTx { print "TX:", $0; }
' file.txt
這裏是一個有點比較強大的示例文件,使之成爲更加清楚一點什麼腳本執行:
1 [001:01.0] [ 2] IOCTL 048477589
...
...
28 [002:02.0] [ 2] TX(56)
81480d0d 0a524141 435a5955 5705243 .H...RAACZYW RC
43544848 41303033 32203034 3032325 CTHHA0032 04025
332d4343 43432d2d 52435554 4848412 3-CCCC--RCETHHA
1 [001:01.0] [ 2] IOCTL 048477589
2 [dsfsdsdf] [ 2] BLORT
29 [002:02.0] [ 2] TX(77)
abbababa 0a524141 435a5955 5705243 STUFFSTUFFSTUFF
43544848 bbbbbbbb 32203034 d0d0d0d CTHULUCTHULUCTH
332d4343 43432d2d cccccccc 4848412 BLORTZORCHFNORD
1 [001:01.0] [ 2] IOCTL 048477589
2 [dsfsdsdf] [ 2] BLORT
成績單運行腳本:
Start of TX record.
TX: 81480d0d 0a524141 435a5955 5705243 .H...RAACZYW RC
TX: 43544848 41303033 32203034 3032325 CTHHA0032 04025
TX: 332d4343 43432d2d 52435554 4848412 3-CCCC--RCETHHA
Start of TX record.
TX: abbababa 0a524141 435a5955 5705243 STUFFSTUFFSTUFF
TX: 43544848 bbbbbbbb 32203034 d0d0d0d CTHULUCTHULUCTH
TX: 332d4343 43432d2d cccccccc 4848412 BLORTZORCHFNORD
THX,我得到了它加工。基本上,我在TX/RX類型字段中創建了一個狀態機解碼。他們吐出N個附加記錄,這些附加記錄可以是隻包含十六進制值的baudot格式。目標是將這些十六進制值轉換爲ASCII格式。我用查找表來實現它。 – 2013-03-14 02:10:12