终端命令行中的数据管道相关命令详解: 关于cut和grep

一、pipe命令介绍

终端命令中的数据流动,使用的是符号|. 其他特殊符号代表的含义可以参见link

我们可以用下图来清楚表达数据的流动:
在这里插入图片描述
注意事项:

  1. pipe命令必须能够接受钱一个command的输出作为stdin才能继续处理。
    例如: less, more, head, tail 可以接受stdin的command; 但是ls, cp, mv 等就不是pipe命令

二、截取命令

1. cut

作用:
将同一行里面的资料进行分解。
最常使用在分析一些数据或文字资料的时候。

选项与参数:

-d :后面接分隔charactor。与 -f 一起使用;
-f :依据 -d 的分隔字元将一段讯息分割成为数段,用 -f 取出第几段的意思;
-c :以字元 (characters) 的单位取出固定字元区间;

举例:

在这里插入图片描述
使用作为分割符号,将环境变量的第2个和第3个取出来

grep

作用:

cut 是将一行讯息当中,取出某部分我们想要的,而 grep 则是分析一行讯息, 若当中有我们所需要的资讯,就将该行拿出来

选项与参数:

-a :将 binary 档案以 text 档案的方式搜寻资料
-c :(count)计算找到 ‘搜寻字串’ 的次数
-i :(ignore)忽略大小写的不同,所以大小写视为相同
-n :(number)顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字串’ 内容的那一行!
–color=auto :可以将找到的关键字部分加上颜色的显示!
-b : binary_offset 输出与行首的字符偏移数量 通常与 -o 合用来找到子字符串的起点
-o: only-matching 只展示出行中匹配的子字符串部分

举例:

last | grep 'root'

在这里插入图片描述
加上-v参数来看看:

输出的是没有的xu的那些行
在这里插入图片描述

最后,我们还可以配合cut一起使用:取出包含用户xu行,并且只保留第一列,并显示行号

在这里插入图片描述

在学习正则表达式之后,配合grep,我们利用搜索,可以玩出更多的花样。

grep高级用法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值