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