管线命令接受|前面传来的stdout,管线示意图如下所示:

管线两个需要注意的地方:

1.管线仅会处理stdout,忽略对stderr的处理

2.管线必须接受前个指令的stdin才是

那么,如果我想接受stderr的数据该怎么处理呢:

可以用数据流的重新导向功能把stderr重新导向为stdout,用2>&1可以把stderr变成stdout导出

攫取命令cut,grep

cut

把一行中需要的信息取出来

cut -d'分隔字符' -f fields
cut -c 字符区间
-d 根据后面的分隔字符切分 fields,与-f一起用
-f 分隔符切分之后,分为几段,f代表取第几段的意思
-c 以字符为单位取出字符

例:可以取得分割后的字段

例:在整齐排泄的字符总,可以取得一个区间

查看登录的用户名

grep

如果行内含我们需要的信息,就把这行拿出来

grep -acinv --color=auto str filename
-a 将binary文件以text文件查字符串
-c 计算找出的字符串的次数
-i 忽略大小写
-n 输出行号
-v 反向选择,选择没有str那一行
--color=auto 找出的关键字加颜色

例:查字符串行

反向选择

配合使用

高亮

grep进阶选项

grep -A -B --color=auto '要搜寻的字符串' filename

[shichaogeng@study ~]$ grep -n -A3 -B2 MANPATH /etc/man_db.conf

利用[]搜寻集合字符

搜寻test和taste两个单字,[]来匹配一个字符

查询带oo不带g字符

解释下第19行,因为oo前面可能是o,所以认定oo前面不带g

oo前面不带小写字母

也可以这么写

查询带数字的

也可以这么写

利用行首和行尾字符^$

^来代表以什么开头

也可以这么写

查找非英文开头的

由以上例子可知,^放在[]之内和之外是不同的,放在里面代表非,放在外面代表行首

查找结尾是.的行

分析

可知,^M$为windows换行符,$为linux换行符,这样就可以理解^$的意义了

怎么找出空白行呢。。。机智的我看了答案就知道了,查以$为开头的当然就是空白行了

查询并打印出文件中非#的批注和空白行的内容

任意一个字符.与重复字符*

小数点.    代表一定有一个任意字符
* 代表重复前一个字符,0到无穷次
找出g??d字符的行

带0个或者多个o的字符

至少两个o以上字符串

开头结尾都是g,中间至少一个o

查询gg中间任意字符的字符串

任意数字字符串

限定连续字符范围

查找gg中间0-5个o的字符串

上条两个以上的oo呢

排序命令 sort wc uniq

管线命令(Pipe)的更多相关文章

  1. 第十一章、认识与学习 BASH 管线命令 (pipe)

    管线命令使用『 | 』界定符号 [root@www ~]# ls -al /etc | less 管线命令『 | 』仅能处理经由前面一个命令传来的正确信息,也就是 standard output 的信 ...

  2. Linux管线命令

    一.什么是管线命令 bash 命令运行的时候有输出的数据会出现! 那么如果这群数据必需要经过几道手续之后才能得到我们所想要的格式,应该如何来配置? 这就牵涉到管线命令的问题了 (pipe) ,管线命令 ...

  3. bash之管线命令

    命令的输出需要经过好几道手续才能得到我们想要的格式,需要用到管线(pipe),(|) 管线命令(|)仅能处理stdandard output,对stdandard error output会忽略 管线 ...

  4. shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)

    如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...

  5. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  6. Linux入门之常用命令(6)Bash命令重定向 管线命令

    命令重定向 将目前所得数据转移到其他地方 >  将输出结果导入文件 如  ls -l / >test     (1)若test文件不存在则创建 (2)若test文件存在 清空后写入 > ...

  7. Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

    在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...

  8. Linux系列(11):之bash进阶与数据流导向、管线命令

    1.万用字符与特殊字符 在bash的环境下有一个特别有用的功能,那就是万用字符!下面展示常见的万用字符: 1.万用字符 除了万用字符还有一些其他的特殊字符,接下来显示特殊字符. 2.特殊字符 2.数据 ...

  9. 关于Linux_shell中的管道命令pipe “|”的简单学习和使用

    什么是 "|"? |其实是linux shell 中的一个命令:管道命令(pipe) 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也 ...

随机推荐

  1. jconsole性能监控

    1.进入tomcat bin目录 vim catalina.sh #!/bin/sh下面加入: #!/bin/shJAVA_OPTS="-Dcom.sun.management.jmxrem ...

  2. python之设计模式的装饰器9步学习

    在继承的基础上增加新功能,重载,重写区别 装饰器: 函数a说,我是装饰器啊,其他哪个函数顶着我,我就吃了谁,然后吐出来我的和你的返回结果 testng的UI自动化,@beforetest,@befor ...

  3. 配置 setting镜像在nexus私服上下载

    在你的本地仓库上 setting文件中配置,一旦nexus服务关闭是无法下载的 1 配置nexus镜像 <mirror> <id>central1</id> < ...

  4. 洛谷P5022&P5049 旅行(及其数据加强版)

    旅行(不是加强版) 加强版 加强版数据范围: 我们注意到 也就是说要么是个树,要么是个基环树 60pts 这60分是个树,可以简单的贪心想到每次都走子树中编号最小的那个,并且把1作为根 dfs练手题 ...

  5. Vue知识整理8:条件、URL、点击

    1.通过v-if实现对条件的判断和执行: 2.通过v-bind:href实现对url地址的绑定,其中url写在data中: 3.通过@click="click1"实现点击事件,其中 ...

  6. Linux_IPtables防火墙详解

    目录 目录 Iptables Iptables结构 规则表 规则链 iptables指令用法详解 综合案例 SNAT 策略 DNAT 策略 Iptables规则的备份和还原 iptables 练习 I ...

  7. Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库

    Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库 一.全设计时操作: 先在窗体上放置控件: DataSource1    : TDataSource; Clie ...

  8. 《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记

    Coursera课程<Using Python to Access Web Data> 密歇根大学 Week4 Programs that Surf the Web 12.3 Unicod ...

  9. ES6标准入门 第四章:字符串的扩展

    1.字符串的Unicode 表示法 JavaScript 允许采用 \uxxxx 表示一个字符,其中 xxxx 表示字符的码点. "\u0061" // "a" ...

  10. node.js中的 compression 中间件

    NodeJs——express启用gzip gzip是用于压缩,js.css等文件的压缩 具体方法如下: 先安装一个依赖 npm install compression --save 在项目的 app ...