首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请教一上文本 怎么排序

2012-09-04 
请问一下文本 如何排序文件如下[gol]comment xxxpath XXX[voc]comment xxxcomment xxx[ACE]AXXXB

请问一下文本 如何排序
文件如下
[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'

就是把文件的每一段先串起来,分号分隔
排序之后,再把分号替换为换行

热点排行