我的数据如下:
M-089]action=;Params=0000000;
M-091]act=;Params=3333333;
M-091]2001
M-090]action=;Params=3333333;
M-090]2001
M-089]4241
找到“action =”字符串并使用方法编号相同的编号。例089或090
M-089]action=;Params=0000000;M-089]4241
M-090]action=;Params=3333333;M-090]2001
nawk '/action=/' | sed 's/]//'| awk '{val=$1;getline $1;print val,$1}' infile
答案 0 :(得分:0)
假设您只想连接具有相同方法编号的行 这是一个解决方案:输出与原始文件的顺序不同
sort -r infile | awk -F "]" '{printf NR%2?$0:$0"\n"}' | awk /action/
1)sort -r infile
- 在 ascii表中获取相关的行(M-090]action comes be for M-090]
Number
)
2)用"]"
3)数据被排序,很容易检查行是否是打印$0
否则打印$ 0和新行($0"\n"
)
4)使用字符串awk /action/