shell编程题(十)

有两个文件如下所示:

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 是按照第几列排序。

posted @   王清河  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-01-02 1020 月饼 (25 分)
点击右上角即可分享
微信分享提示