我嘗試使用sed/awk命令來解析我的文本文件。 我想在兩個模式之間打印文本,並在其中添加一些字符。 例如: 如果我行SED:在同一行中的兩個模式之間合併文本
uint8_t aucRepresentationName[NR_UNIT_REPRESENTATIONS][CHARS_P_REPRESENTATION];
OR
uint8_t aucRepresentationName [NR_UNIT_REPRESENTATIONS] [CHARS_P_REPRESENTATION];
我想打印NR_UNIT_REPRESENTATIONS*CHARS_P_REPRESENTATION
所以,我曾與sed命令盯着'['
後插入線deliminter \n
,在合適的物種中劃分線,然後嘗試再次解析。
echo "bla bla bla [AK] bla bla bla bla [A_K] bla bla bla" | sed 's/\[/\n&/g;' | awk '{sub(/.*\[ /,"");sub(/\].*/,"");print;}'
echo "bla bla bla [AK] bla bla bla bla [A_K] bla bla bla" | sed 's/\[/\n&/g;' | sed -e 's/^.*\[ //g;s/ \].*$//g'
它是不是總有兩個diamensional陣列,也可能是沒有或單/雙維數組,我需要的[]第多少實例,如果它的0然後寫1,如果單diamensional陣列然後ex A [SIZE]然後寫SIZE其兩維陣列例如:A [RAW] [COL]寫入RAW * COL ..
我想知道我的命令有什麼問題?或任何其他選項來做到這一點,因爲它會幫助我進一步學習sed。
Amruta
沒有名爲SED/AWK工具。 sed是簡單替換單行的優秀工具。對於所有其他的文本操作,你應該使用awk。你不需要學習sed - 你可以從幾個例子中拿出你需要知道的一切。通過閱讀「有效的Awk編程,第三版」一書開始學習awk。 – 2013-02-26 13:15:22
代碼中的無維數組是什麼樣的?它是一個大小爲[]的數組,還是它是一個標量變量或別的東西?發佈一些更具代表性的示例輸入,其中包括您想要解析的所有陣列聲明的類型以及給定該輸入的預期輸出。 – 2013-02-26 13:21:37
我的文本文件包含標量變量和一些數組。說U8 A,U16 B [5],U16 B [4] [2],U32 C [2] [3] [4] ..等等。我需要解析此文件並將結果存儲在文件中U8 1 U16 5 U16 4 * 2 U32 2 * 3 * 4 – Amruta 2013-02-27 06:32:53