命令的输出需要经过好几道手续才能得到我们想要的格式,需要用到管线(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. cpu95%,查找问题sql

    收到一封告警邮件: Load average on xxx_server reached critical threshold values - 169.5 Current Load Avg = 16 ...

  2. [ Android 五种数据存储方式之三 ] —— SQLite存储数据

    SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 ...

  3. Intent的属性及Intent-filter配置——实例Action、Data属性启动系统Activity

    一旦为Intent同时指定了Action.Data属性,那么Android将可根据指定的数据类型来启动特定的应用程序,并对指定数据类型执行相应的操作. 下面是几个Action属性.Data属性的组合. ...

  4. 高斯RBF核函数中Sigma取值和SVM分离面的影响

    1:高斯RBF核函数的定义 k(x) = exp(-x^2/(2×sigma)) 在MATLAB中输入一下代码:ezsurf('exp(-x^2/(2*sigma^2))'); 在GOOGLE中输入“ ...

  5. Oracle11G 在线重定义

    create tablespace tbs1 datafile '/opt/oracle/oradata/haier/tbs1.dbf' size 500m autoextend on maxsize ...

  6. Java学习之旅开篇:运行机制及环境搭建

    在写这篇博客之前,我想对自己进行简单概括:我从事软件开发工作已经三年多了,并且一直在从事.NET相关项目的开发.为什么突然间想学习Java呢?有以下几个原因: 1. 开发程序三年多来,已经对.NET相 ...

  7. WebRTC音视频引擎研究(2)--VoiceEngine音频编解码器数据结构以及参数设置

    1.VoiceEngine Codec数据结构 WebRTC中,用一个结构体struct CodecInst表示特定的音频编解码器对象: struct CodecInst { int pltype;  ...

  8. 如何使用Ninja快速编译LLVM和Clang

    在使用Make工具编译LLVM是非常耗时的.往往需要三四个小时.但是使用goolge开源的ninja编译LLVM只需要10到20分钟. 本文以llvm3.3为例,演示在linux上编译和安装过程. 第 ...

  9. Linux笔记(十三) - 系统管理

    (1)进程管理1.判断服务器健康状态2.查看进程a.查看系统中所有进程:ps    例:ps aux(使用BSD操作系统命令格式)    a 显示所有前台进程    x 显示所有后台进程    u 显 ...

  10. C++ Primer 笔记 第一章

    C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: ma ...