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 是按照第几列排序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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 分)