码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程题(十)

时间:2020-01-02 18:39:41      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:必须   bsp   删除   file   找不到   连接   记录   输出   列排序   

有两个文件如下所示:

employee.txt 

100 Jason Smith

200 John Doe

300 Sanjay Gupta

400 Ashok Sharma

 

bonus.txt

100 $5,000

200 $500

300 $3,000

400 $1,250

 

employee.txt记录的是工号和姓名,bonus记录的是工号和工资

将以上两个文件合并并输入为以下格式:

 

400 ashok sharma $1,250

100 jason smith  $5,000

200 john doe  $500

300 sanjay gupta  $3,000

 

答案:

join employee.txt bonus.txt | tr A-Z a-z | sort -k2

技术图片

 

解析:

join employee.txt bonus.txt

join 命令:

功能:将两个文件里指定栏位同样的行链接起来。

join [options] file1 file2

注:这两个文件必须在已经在此列上是依照同样的规则进行了排序。

 

options:

-a<1或2> :除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。

-e<字符串> :若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。

-i或--igore-case :比较栏位内容时,忽略大小写的差异。

-o<格式> :按照指定的格式来显示结果。

-t<字符> :使用栏位的分隔字符。

-v<1或2> :跟-a相同,但是只显示文件中没有相同栏位的行。

-1<栏位> : 连接[文件1]指定的栏位。

-2<栏位> : 连接[文件2]指定的栏位。

 

tr A-Z a-z

tr命令用于转换或删除文件中的字符。

将所有的大写字符转换成小写字符。

 

sort -k2

-k 是按照第几列排序。

shell编程题(十)

标签:必须   bsp   删除   file   找不到   连接   记录   输出   列排序   

原文地址:https://www.cnblogs.com/wanghao-boke/p/12134216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!