使用sort和awk来实现对文件块进行排序

professor.db中每个文件块记录了一位教授的信息,由三行组成:第1行是姓名,第2行是学校名,第3行是学校所处的城市和国家.如果需要根据姓名对文件块进行排序,仅使用sort命令是难以实现的,我们通过结合使用sort和awk来实现这一功能:

cat professor.db:

J Luo

Southeast University
Nanjing,China

Y Zhang
Victory University
Melbourne, Australia

D Hou
Beijing University
Beijing,China

B Liu
Shanghai Jiaotong University
Shanghai,China

C Lin
University of Toronto
Toronto,Canada

=================================================

cat PROFESSOR.db | awk -v RS="" '{gsub("\n","@");print}'
J Luo@Southeast University@Nanjing,China
Y Zhang@Victory University@Melbourne, Australia
D Hou@Beijing University@Beijing,China
B Liu@Shanghai Jiaotong University@Shanghai,China
C Lin@University of Toronto@Toronto,Canada

===================================================
cat PROFESSOR.db | awk -v RS="" '{gsub("\n","@");print}' | sort
B Liu@Shanghai Jiaotong University@Shanghai,China
C Lin@University of Toronto@Toronto,Canada
D Hou@Beijing University@Beijing,China
J Luo@Southeast University@Nanjing,China
Y Zhang@Victory University@Melbourne, Australia
=====================================================
cat PROFESSOR.db | awk -v RS="" '{gsub("\n","@");print}' | sort |awk -v ORS="\n\n" '{gsub("@","\n");print}'
B Liu
Shanghai Jiaotong University
Shanghai,China

C Lin
University of Toronto
Toronto,Canada

D Hou
Beijing University
Beijing,China

J Luo
Southeast University
Nanjing,China

Y Zhang
Victory University
Melbourne, Australia




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值