XML ファイルを指定して、それを解析するために Bash を作成していますが、ヘッダーと文字列の分割についてサポートが必要ですか? これは私がこれまでに持っているものです:
<dbg><h><d t="2013/08/11 (Aug) (Sun) 00:56:23.491" m="CANLogging" f="../../../ApplCtrl/CANMessageLoger.cpp" l="120" fnc="void CANMessageLoger::WriteToLog(uint16_t, uint16_t, uint16_t, uint16_t, uint8_t, uint8_t*)" lvl="DBG_EVENT" thrd=""/></h><b> d2 ff f7 0c 10 27 ff ff ff ff ff </b></dbg>
grep CANLogging $1 | awk '{printf("%s %s",$2,$5); i=18; while(i<NF) { printf(" %s", $i); ++i} printf("\n");}' | awk -F "\"" '{print $2 " " $3}' > CAN
grep から生成される次の約 100,000 行があります。
2013/08/11 00:56:23.491 d2 ff f7 0c 10 27 ff ff ff ff ff
ただし、出力ファイルにヘッダーを追加する必要があります。
Date Time source Format Specific data
そして、日付文字列を解析して少し変更するには、次のようにします。
13.08.11 00:56:23.491 d2 ff f7 0c 10 27 ff ff ff ff ff
svante を使用すると、次のようになります。
grep CANLogging $1 | awk '{printf("%s %s",$2,$5); i=18; while(i<NF) { printf(" %s", $i); ++i} printf("\n");}' | awk -F "\"" 'BEGIN{print "Date Time source Format Specific data"}{print $2 " " $3}' | sed 's/^\([0-9]\{2\}\)\([0-9]\{2\}\)\/\([0-9]\{2\}\)\//\2.\3./' > CAN