请问一下文本 如何排序
文件如下
[gol]
comment = xxx
path = XXX
[voc]
comment = xxx
comment = xxx
[ACE]
A=XXX
B=XXX
排序后预期结果为
[ACE]
A=XXX
B=XXX
[gol]
comment = xxx
path = XXX
[voc]
comment = xxx
comment = xxx
想根据[]里面的第一个字母进行排序,没有什么好点子。
希望各位大侠帮忙出出点子。
------解决方案--------------------
可以这样试试
awk '$0~/\[/ {printf "\n"} {printf "%s;", $0} END{print}' yourfile|sort|tr ';' '\n'
就是把文件的每一段先串起来,分号分隔
排序之后,再把分号替换为换行