cat awk_test
5|1|2|0
||
5|1|2|0
||
5|5|3|0|0|0
5|5|3|0|0|1
5|1|2|1|0|
5|2|2|1|0|3
5|3|2|1|0|6
5|4|2|1|0|8
5|5|2|1|0|
5|6|2|1|0|
5|1|7|1|5|0
5|1|8|1|5|
5|1|0|1|5|
5|0|2|1|5|
5|1|1|1|5|0
5|1|3|1|5|1
5|1|4|1|5|
5|1|2|0
||
5|1|2|3|5|1
5|1|2|4|5|
5|1|2|5|4|
5|1|2|6|5|
5|1|2|7|5|
5|1|2|1|5|
5|1|2|1|1|
```bash
##切割文件为正常格式列数据和非常正常数据
awk -F\| 'NF==6 {print $0}' awk_test >NormalFormat.txt
awk -F\| 'NF<6 {print $0}' awk_test >unNormalFormat.txt
##把正常格式每两行拼接一行而后追加到正常列
awk '{if(NR%2==0){printf $0 "\n"}else{printf "%s",$0}}' unNormalFormat.txt