管线命令(Pipe)
管线命令接受|前面传来的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)的更多相关文章
- 第十一章、认识与学习 BASH 管线命令 (pipe)
管线命令使用『 | 』界定符号 [root@www ~]# ls -al /etc | less 管线命令『 | 』仅能处理经由前面一个命令传来的正确信息,也就是 standard output 的信 ...
- Linux管线命令
一.什么是管线命令 bash 命令运行的时候有输出的数据会出现! 那么如果这群数据必需要经过几道手续之后才能得到我们所想要的格式,应该如何来配置? 这就牵涉到管线命令的问题了 (pipe) ,管线命令 ...
- bash之管线命令
命令的输出需要经过好几道手续才能得到我们想要的格式,需要用到管线(pipe),(|) 管线命令(|)仅能处理stdandard output,对stdandard error output会忽略 管线 ...
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- Linux学习之十四、管线命令
Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php
- Linux入门之常用命令(6)Bash命令重定向 管线命令
命令重定向 将目前所得数据转移到其他地方 > 将输出结果导入文件 如 ls -l / >test (1)若test文件不存在则创建 (2)若test文件存在 清空后写入 > ...
- Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...
- Linux系列(11):之bash进阶与数据流导向、管线命令
1.万用字符与特殊字符 在bash的环境下有一个特别有用的功能,那就是万用字符!下面展示常见的万用字符: 1.万用字符 除了万用字符还有一些其他的特殊字符,接下来显示特殊字符. 2.特殊字符 2.数据 ...
- 关于Linux_shell中的管道命令pipe “|”的简单学习和使用
什么是 "|"? |其实是linux shell 中的一个命令:管道命令(pipe) 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也 ...
随机推荐
- wannalfy 挑战赛7 F Masha与老鼠(贪心+dp)
链接:https://www.nowcoder.net/acm/contest/56/F 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 6 ...
- 利用pymysql同时修改两张表的数据
使用pymysql操作数据库中相关联的两张表需求:两张表中分别有一个字段是json格式,需要往json中再插入一个属性值’container_cloud’=’fasle’. import pymysq ...
- python之正则匹配match:search findall
match:从开头位置匹配,只匹配一次,开头匹配不上,则不继续匹配 a,b,\w+ match(a,"abcdef") 匹配a >>> re.match(&quo ...
- 深入浅出mysql笔记---1、mysql下载安装
深入浅出mysql笔记---1.mysql下载安装 一.总结 一句话总结: linux下rpm安装即可 1.linux的wget命令作用? 下载文件的工具:比如wget http://cn.wordp ...
- trim配合prefix,prefixOverrides,suffix,suffixOverrides构建动态sql语句
1.在接口构建方法 public interface EmployeeMapperDynamicSQL { //携带了哪个字段查询条件就带上这个字段的值 public List<Employee ...
- leetcode434 字符串中的单词树(python)
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" ...
- windows的VMWare下NAT共享无线方式上网的配置
1,本文参看: https://blog.51cto.com/13648313/2095288 VMware安装最新版CentOS7图文教程 https://blog.csdn.net/q215879 ...
- 【FICO系列】SAP FICO 凭证错误:BKPFF$PRDCLN800在FI中达到的项目最大编号
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP FICO 凭证错误:BK ...
- 使用 java.util.Properties 读取配置文件中的参数
配置文件格式 如下的配置参数格式都支持: Key = ValueKey = Key:ValueKey :Value 用法 getProperty方法的返回值是String类型. //读取配置文件 Fi ...
- C语言第十一周作业
这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/ ...