我正在尝试使用 sed /awk 命令来解析我的文本文件。我想在同一行的两个模式之间打印文本,并在其中添加一些字符。例如:如果我的线路是
uint8_t aucRepresentationName[NR_UNIT_REPRESENTATIONS][CHARS_P_REPRESENTATION];
或者
uint8_t aucRepresentationName [NR_UNIT_REPRESENTATIONS] [CHARS_P_REPRESENTATION];
我要打印NR_UNIT_REPRESENTATIONS*CHARS_P_REPRESENTATION
所以,我盯着 sed 命令在\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'
而且它并不总是二维数组,它可以是无或单/双维数组,我需要首先有多少[]实例,如果它的0然后写1,如果它的单维数组然后ex A [SIZE]然后写入 SIZE 其两个维度数组 ex:A[RAW][COL] 写入 RAW*COL..
我想知道我的命令有什么问题?或任何其他选择,因为它将帮助我进一步学习 sed。
阿姆鲁塔