join文件连接命令和cut提取命令和paste命令

连接操作这是关系数据库中的概念

join工具

用于将两个文件进行连接,注意:它只能操作已经排过序的文件,默认只会显示匹配到共同域的记录

join语法

    join [option] wenjian1 wenjian2

    -i  比较域内容时,忽略大小写差异
    -t  改变域分割符
    -a1 显示除共同域的结果外,还显示第一个文件中没有共同域的记录
    -a2 显示除共同域的结果外,还显示第二个文件中没有共同域的记录
    -v2 不显示以共同域进行链接的结果
    -3  指定匹配哪一个域(默认是第一个域)

join实例

qqq@ThinkPad-E540:~$ cat aa
A   23 56 100
B   90 52 111
C   45 57 78
D   86 50 70
E   20

qqq@ThinkPad-E540:~$ cat bb
A   优秀
B   良好
C   优秀
D   还行
F   啥

qqq@ThinkPad-E540:~$ join aa bb
A 23 56 100 优秀
B 90 52 111 良好
C 45 57 78 优秀
D 86 50 70 还行

qqq@ThinkPad-E540:~$ join -a1 aa bb
A 23 56 100 优秀
B 90 52 111 良好
C 45 57 78 优秀
D 86 50 70 还行
E 20

paste命令

将多个文件的内容合并到一个文件

#语法
    paste [option] wenjian1 wenjian2    
    -d  设定新的域分割符
    -s  将每个文件粘贴成一行
    -   从标准输入中读取数据

#实例
    paste aa bb
ppp@ThinkPad-E540:~$ paste aa bb
A   23 56 100   A   优秀
B   90 52 111   B   良好
C   45 57 78    C   优秀
D   86 50 70    D   还行
E   20  F   啥

cut命令

用于从标准输入或文本文件中按域或行提取文本

#语法
    cut [option] wenjian

    -c  指定提取的字符数,或字符范围
    -f  指定提取的域,或域范围
    -d  改变域分割符

#实例
    cut -c3 aa          #提取aa的第三个字符
    cut -d: -f1 /etc/passwd     #提取第一个域
    cut -d: -f1,4 /etc/passwd   #提取第一个和第4个域
    cut -d: -f1-4 /etc/passwd   #提取第1个到第4个域
微信打赏微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2022/11/22作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???