管线命令接受|前面传来的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. Loadrunner参数化避免重复数据

    1.我们性能测试过程中经常遇到需要创建很多数据来运行测试场景,但是如果数据准备不够多,可能会造成数据不够用,导致场景运行失败,下面简单的例子: 2.我们对用户名分别使用VuserID和lteratio ...

  2. sqli-labs(6)

    双注入GET双引号字符型注入 0x01(这里思路和05一样只是单引号变成了双引号) 首先我们看见这个网站 又是不显示值的 所以想到用报错的信息来得出你想要的结果 有了思路之后来试试一下吧 先填入单引号 ...

  3. MySQL的内连接,左连接,右连接,全连接

    内连接(INNER JOIN)(典型的连接运算,使用像   =   或   <>   之类的比较运算符).包括相等连接和自然连接. 内连接使用比较运算符根据每个表共有的列的值匹配两个表中的 ...

  4. Python For Mac 开发环境安装 以及问题记录

    Python For Mac 开发环境安装记录 把自己安装的过程记录一下,亲测可用 1.Python3环境安装(转载http://www.cnblogs.com/meng1314-shuai/p/90 ...

  5. RedHat系统文本界面安装图形界面方法

    版本: Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4. ...

  6. RAC_单实例_DG 关于两端创建表空间数据文件路径不一致的问题注意点

    RAC_单实例_DG 关于两端创建表空间数据文件路径不一致的问题注意点 主库SYS@orcl1>show parameter db_file_name_convert NAME TYPE VAL ...

  7. tomcat在45秒内没有启动,启动超时

    在部署的时候出现Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server ...

  8. 博客侧边栏公告html代码

    前一小段是时钟: 后一段是百度统计,但是显示不出来. 网站概况 - 百度统计 https://tongji.baidu.com/web/25880379/overview/index 趋势分析 - 百 ...

  9. eclipse经常卡死

    修改eclipse.ini 将启动内存,最小内存,最大内存都增大 eclipse是内存不够再去申请,直到有最大内存的 若上述方法不行则换eclipse    eclipse有的版本是不稳定的,我用Ke ...

  10. python学习笔记:(八)条件语句

    if语句,python中if语句的一般形式如下: conditon1为真,执行statement_block_1 condition1为假,判断conition_2,如果condition_2为真,执 ...