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

  • 相关阅读:
    高级特性(7)- 高级AWT
    洛谷 P1948 [USACO08JAN]电话线Telephone Lines
    洛谷 P2015 二叉苹果树
    洛谷 P2014 选课
    洛谷 P1560 [USACO5.2]蜗牛的旅行Snail Trails(不明原因的scanf错误)
    cogs 10. 信号无错传输
    cogs 9. 中心台站建设。。。
    洛谷 P1731 生日蛋糕
    洛谷 P1092 虫食算
    洛谷 P1034 矩形覆盖
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/12134216.html
Copyright © 2020-2023  润新知