命令的输出需要经过好几道手续才能得到我们想要的格式,需要用到管线(pipe),(|)
管线命令(|)仅能处理stdandard output,对stdandard error output会忽略
管线命令(|)指令必须能够接受来自前一个命令的输出,并做为standard input继续处理
 
cut -d'分隔字元' -f fields 用于有特定分隔字元
cut -c字元区间
-d:后面接分隔字元,与-f一起使用
-f:依据-d的分隔字元将一段讯息分隔开,用-f取出第几段
-c:以字元的单位取出固定字元区间,适用于具有固定格式的内容
 
通过一个指令的执行来判断后面的指令要不要执行,需要&&和||的帮忙
cmd1 && cmd2 若cmd1执行完毕且正确($?=0),则执行cmd2
             若cmd1执行完毕且为错误($?!=0),则cmd2不执行
cmd1 || cmd2 若cmd1执行完毕且正确($?=0),则不执行cmd2
             若cmd1执行完毕且为错误($?!=0),则执行cmd2   
command1 && command2 || command3
一般command2和command3放置一定可以成功的命令
 
 
grep 分析一行指令,若有我们所需要的信息,就将该行列出来
grep [-acinv] [--color=auto] '搜寻字符串' filename
-a:将binary档案以text档案的方式搜寻资料
-c:计算找到'搜寻字串'的次数
-i:忽略大小写的不同
-n:输出行号
-v:显示没有'搜寻字串'内容的那一行
--color=auto:将找到的关键字部分加上颜色
 
将重复的资料仅显示一个:uniq [-ic]
-i:忽略大小写的不同
-c:进行计数
 
查询资料有多少字,多少行,多少字元:wc [-lwm]
-l:仅列出行数
-w:仅列出多少字(英文单词)
-m:多少字元
 
将输出到屏幕的保存一份到文件:tee [-a] file
-a:以累加的方式将资料加入file
 
删除一段信息中的文字或进行替换:tr [-ds] SET1
-d:删除讯息当中的SET1子串
-s:取代掉重复的字元
 
col [-xb]
-x:将tab键转换成对等的空白键
-b:过滤控制字符,常用来将man page转存成纯文字档方便查阅
 
 
某些指令需要档案名称来进行处理时,stdin和stdout可以用'-'来替代,
 
如:
tar -cvf - /home | tar -xf -
 
 

bash之管线命令的更多相关文章

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

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

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

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

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

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

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

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

  5. Linux管线命令

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

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

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

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

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

  8. Bash内置命令exec和重定向

    Bash内置命令exec可以替换当前程序而不需要启动一个新的进程,可以改变标准输入和输出而不需要启动一个新的子进程.如果文件用exec打开,read命令就会把文件指针每次指向下一行直到文件的末尾,如果 ...

  9. bash内建命令

    bash内建命令 1.local命令 基本介绍 local命令是用来定义一个局部变量的,它只能定义在函数中,并且随着函数的结束而被销毁 基本语法 local  [option]  name[=valu ...

随机推荐

  1. 05 Linux字符驱动---静态注册

    1. mycdev.c #include <linux/init.h> #include <linux/module.h> #include <linux/cdev.h& ...

  2. HibernateSessionFactory类中Session对象的创建步骤

    HibernateSessionFactory类中Session对象的创建步骤: 1.初始化Hibernate配置管理类Configuration 2.通过Configuration类实例创建Sess ...

  3. SQL 日期筛选的两种方式

    主要解决的是后一天的问题~容易漏掉最后一天~第一种方法,拼接String,第二种方法直接在最后一天加一天 第一: <if test="beginDate != null and beg ...

  4. Windows Server 2008 R2防火墙入站规则

    一般服务器的端口都设置了外网无法访问,iis中创建的网站外网也是访问不了的,需要创建指定端口的入站规则后方可访问. 方法/步骤     服务器管理器-->配置-->高级安全windows防 ...

  5. 如何给js动态创建的dom添加事件

    delegate() 方法 实例 当点击鼠标时,隐藏或显示 p 元素: $("div").delegate("button","click" ...

  6. 在MyEclipse 2014中给Spket增加ExtJS提示

    参考:http://wenku.baidu.com/link?url=BT2U6Z-HktQJQYpz3Jp88pJSp4lU-lXkvCqpdeaa9a-BVdOgMGK1vj486-32YC4Gq ...

  7. puppet的配置清单书写

    puppet的配置清单书写 1使用数组,合并同类的 例如你想安装很多软件,如果分开来写的话,很麻烦,不简洁,这时我们可以使用数组来完成 以前我们这样来写 class packages{ package ...

  8. android ExpandableListView实现不同的布局

    最近有一个需求要实现listview的不同布局!因为有好几上header,就想到了ExpandableListView! 这个是我的需求模型:看图(自己画的) 然后百度~google~发帖~总算有点效 ...

  9. 蓝桥网试题 java 基础练习 矩形面积交

    ------------------------------------------------------------------------------------------- 思路见锦囊2 - ...

  10. canvas绘制圆形进度条(或显示当前已浏览网页百分比)

    使用canvas绘制圆形进度条,或者是网页加载进度条 或者是显示你浏览了本网页多少-- 由于个浏览器的计算差异,打开浏览器时 初始值有所不同,但是当拉倒网页底部时,均显示100%. 兼容性:测试浏览器 ...