join使用一个五步骤的管道完成
-
结合个人信息和办公室位置 join -t : $PERSON $OFFICE 运算结果:ben:Frankin,Ben:OSD212 betsy:Ross,Betsy:BMD17
-
加入电话号码 |join -t: -$TELEPHONE 运算结果:ben:Frankin,Ben:OSD212:555-0022 betsy:Ross,Betsy:BMD17:555-0033
-
删除键值,也就是第一个字段,最简单的方式就是使用cut,这里的范围是指“使用字段2直到最后” | cut -d: -f 2-(意思是显示用‘:’切割后的第二个元素以后的所有元素,也就是只删除第一个元素)
-
数据重新排序。以个人的姓名来排序 |sort -t: -k1,1 -k2,2 -k3,3 (以:做分割,显示按照第一个字段做排序,第一个字段相同的情况下按照第二个字段排序)
-
最后格式化输出,使用awk的printf语句,配合制表符分割每个字段 | awk -F: '{printf("%-39s\t%s\t%s\n%", $1,$2,$3)}' 标注:%-39s 的意思是:以字符串的形式输出,宽度为39个字符,多余部分不输出