【Linux上分之路】第十四篇:Linux管道命令

在这里插入图片描述

Linux管道命令

管道命令使用的是"|“这个界定符号,这个管道命令”|"仅能处理前面一个命令传来的正确信息,即标准输出stdout,对于标准错误输出stderr没有处理能力

管道命令处理过程

Linux管道命令过程

每一个管道后面接的数据必定是命令,而且该命令必须能够接受stdin的数据才行,这样的命令才能叫做管道命令

管道命令的特点

管道命令仅能处理标准输出,不会去处理标准错误输出

管道命令必须能够接受来自前一个命令的数据成为标准输入stdin继续处理才行

管道命令

管道命令都是可以接受标准输入stdin的管道命令,如ls、cp、mv不是管道命令,因为这些命令并不会接受来自stdin的数据

选取命令

cut

cut主要的用途在于将同一行里的数据进行分解,最常使用在分析一些数据或文字数据的时候,因为有时候我们会以某些字符当作划分的参数,然后将数据进行分割,以得到我们所需要的数据

cut命令格式
cut -d '分隔字符' -f fields
cut -c 字符区间
参数选项:
-d:后面接分隔字符,与-f一起使用
-f:根据-d的分隔字符将一段信息划分为数据,用-f取出第几段的意思
-c:以字符的单位取出固定字符区间
cut分隔取出对应段的字符值

在这里插入图片描述

cut分解得到指定范围的字符值
Linux管道命令cut指定范围
grep

grep可以解析一行文字,取得关键词,若改行存在关键词,就会将整行数据列出来
Linux三剑客grep

排序命令

sort

sort可以帮助进行排序,而且可以根据不同的数据形式来排序,排序时建议使用LANG=C来让语系统一,数据排序结果会比较好一点

sort命令格式

sort [-fbMnrtuk] [file or stdin]
参数选项:
-f:忽略大小写的差异
-b:忽略行首空格符部分
-M:以月份的名字来排序
-n:使用以纯数字进行排序(默认是以文字的形式来排序)
-f:反向排序
-u:即uniq,去重
-t:分隔符号,默认是以[Tab]键来分隔
-k:以哪个区间(field)来进行排序
Linux管道命令sort
uniq

uniq:用来将重复的行删除掉只有一行

uniq命令格式

uniq [-ic]
参数选项:
-i:忽略大小写字符的不同
-c:进行计数

Linux管道命令uniq

wc

wc:可以帮助将计算输出信息的整体数据

wc命令格式

wc [-lwm]
参数选项:
-l:仅列出行
-w:仅列出多少字
-m:多少字符
Linux管道命令wc

双向重定向

tee

tee:会同时将数据分送到文件与屏幕上,而输出到屏幕上就是stdout,也就意味意味用管道命令继续进行处理;tee可以让标准输出转存一份到文件内并将同样的数据继续送到屏幕去处理,除了可以同时分析一份数据并记录下来之外,还可以作为处理一份数据的中间缓存记录

tee命令格式

tee [-a] file
参数选项:
-a:以累加的方式,将数据加入到file中,若file不存在则会自动创建该文件
Linux管道命令tee

字符转换命令

tr

tr:可以用来删除一段信息当中的文字,或者进行文字信息的替换

tr命令格式

tr [-ds] SET1...
参数选项:
-d:删除信息中的SET1这个字符
-s:替换掉重复的字符
Linux管道命令tr
join

join:从字面意思可以看出是处理两个文件之间的数据,主要处理两个文件当中,有相同数据的那一行才将它加在一起

join命令格式

join [-ti12] file1 file2
参数选项:
-t:join默认以空格字符分隔数据,如果两个文件相同则将两条数据连成一行
-i:忽略大小写的差异
1:表示第一个文件要用哪个栏位来分析
2:表示第二个文件要用哪个栏位来分析

在这里插入图片描述

paste

paste:相对于join必须要对比两个文件的相关性,而paste就是直接将两行数据贴在一起,中间以[Tab]键隔开

paste命令格式

paste [-d] file1 file2
参数选项:
-d:后面可以接分隔字符,默认是以tab键分隔
Linux管道命令paste
expand

expand:可以将[Tab]键装换成空格键

expand命令格式

expand  [-t] file
参数选项:
-t:后面可接数字,该数字为自定义一个tab键代表多少个字符

在这里插入图片描述

划分命令

split

split:可以将一个大容量的文件依据大小或行数来划分

split命令格式

split [-bl] file PREFIX
参数选项:
-b:后面可以接欲划分成的文件大小,可加单位k、b、m
-l:以行数来进行划分
PREFIX:表示前缀字符,可以作为划分文件的前缀文字

在这里插入图片描述

总结

管道命令的重点:管道命令仅会处理标准输出,对于标准错误输出会忽略,管道命令必须能够接受来自前一个命令的数据成为标准输入stdin继续处理才行

赶紧学习起来吧!我是一个正在努力找回自我的人,希望能和一起学习的人成长,有错误的地方请各位大佬帮忙指正,如果觉得有帮助就点个赞当作对我的一个小肯定❤,peace&love

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值