命令的输出需要经过好几道手续才能得到我们想要的格式,需要用到管线(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. iOS 开发新版 动态库framework

    0. 参考 http://www.cocoachina.com/industry/20140613/8810.html framework+xib参考 : http://blog.csdn.net/x ...

  2. spring 里面的StringUtils,先放这儿,有时间研究吧

    /* * Copyright 2002-2012 the original author or authors. * * Licensed under the Apache License, Vers ...

  3. JS前端的分享功能

    给网页加上分享代码,借助网友的力量推广网站,目前已经很流行了 以下是网页代码 QQ空间分享代码如下: <a href="javascript:void(0);" onclic ...

  4. Bootstrap入门(十九)组件13:页头与缩略图

    Bootstrap入门(十九)组件13:页头与缩略 1.页头 2.默认的缩略图 3.自定义缩略图 页头组件能够为 h1 标签增加适当的空间,并且与页面的其他部分形成一定的分隔.它支持 h1 标签内内嵌 ...

  5. 如何在Crystal框架项目中内置启动MetaQ服务?

    当Crystal框架项目中需要使用消息机制,而项目规模不大.性能要求不高时,可内置启动MetaQ服务器. 分步指南 项目引入crystal-extend-metaq模块,如下: <depende ...

  6. react-router 学习笔记

    前言: 本文为个人学习react-router的总结.包括路由基础配置,跳转,权限管理,组件与路由配置的关系,代码分割.欢迎交流指导. 一.路由基础 1.路由配置 & 显示路由组件的view( ...

  7. Java连接数据库(mysql,sqlserver)

    犹记当年为了使用java程序连接mysql数据库花费一天时间,最后发现是没有导入外包,如今看来真的发现自己那时有点二,也怪我使用的教科书上没有说明这点(强行甩锅,哈哈).今天分享出来,,希望后者不因为 ...

  8. 遍历ul下的li,点击弹出li的索引

    首先我们需要一个html结构 <div > <ul> <li>a</li> <li>a</li> <li>a< ...

  9. Code forces 719A Vitya in the Countryside

    A. Vitya in the Countryside time limit per test:1 second memory limit per test:256 megabytes input:s ...

  10. pom.xml配置详解

    <!--可以免费转载,转载时请注明出处  http://pengqb.iteye.com .--><project xmlns="http://maven.apache.o ...