管道命令(pipe)


1.概述

              管道命令就是处理经由前面一个命令传来的正确信息,也就是standard output的信息然后进行处理的命令,对于错误的信息并没有处理的能力。

上图就是管道命令大概的处理流程,这里需要注意下面两个问题:

1.管道命令只能处理标准正确输出,即standard output,而对错误的输出会给予忽略;

2.位于管道命令必须要能够处理前一个指令产生的标准输出才行;

二.选取命令:cut,grep

        grep和cut都是选取命令,不同之处就在于cut会将一行中我们需要查找的部分切割出来显示,而grep则会将这一行都显示出来而不会只显示这一行的一部分;下面就来看grep和cut的用法。

        cut

        用法:

        cut   -d   '分隔字符'   -f   fields

        cut   -c   字符范围

        参数:

        -d:后面接分隔字符

        -f:依据-d的分隔字符将一段信息切割成为数段,用-f取出第几段的意思

        -c:以字符的单位取出固定字符区间

        下面这个示例就是首先查询出PATH变量的值,然后以:为分隔,取出第三个部分;

        [root@localhost test]# echo $PATH
        /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/giyoo/.local/bin:/home/giyoo/bin[root@localhost test]#
        [root@localhost test]# echo $PATH |cut -d ':' -f 3
        /usr/bin

        grep

        用法:

        grep   [-acinv]   [--color=auto]   '查找字符串'   filename

        参数:

        -a:将binary文件以text文件的方式查找数据;

        -c:计算找到‘查找字符串’的次数

        -i:忽略大小写的不同,所以大小写视为相同;

        -n:顺便输出行号;

        -v:反向选择,即显示出没有‘查到字符串’内容的那一行;

        --color=auto:可以将找到的关键字部分加上颜色显示;

三.排序命令:sort,wc,uniq

        sort

        用法:

        sort   [-fbMnrtuk]   [file or stdin]

        参数:

        -f:忽略大小写的差异,例如A与a视为相同;

        -b:忽略前面的空格部分;

        -M:以月份的名字来排序;

        -n:使用“纯数字”进行排序;

        -r:反向排序;

        -u:就是uniq,相同的数据中,仅出现一行代表;

        -t:分隔符,默认是用[tab]键来分隔;

        -k:以那个区间来进行排序的意思;

        uniq

       用法:uniq就是将重复行删除只显示一个的命令

       uniq   [-ic]

       参数:

       -i:忽略大小写字符的不同;

       -c:进行计数;

        wc

        用法:计算整体输出的信息的工具

        wc   -[-lwm]  

        参数:

        -l:仅列出行;

        -w:仅列出多少字;

        -m:多少字符;

四.双重定向:tee

       双重定向说白了就是,将输出的数据转存一份到文件内,而还会在屏幕上显示正常的数据;

      用法:

      tee   [-a]   file

      参数:

      -a:以累加的方式将数据加入file中;

五.字符转换命令:tr,col,join,paste,expand

        tr

        用法tr可以用来删除文字或者进行文字的替换

        tr   [-ds]   SET1

        参数:

        -d:删除信息当中的SET1这个字符串;

        -s:替换掉重复的字符;

       col

       用法:将tap键替换成空格键,另外col还经常被利用与将man page转存为纯文本文件以方便查阅的功能

       col   [-xb]

       参数:

       -x:将tab键转换成对等的空格键

       -b:在文字内有反斜杠/时,仅保留反斜杠最后接的那个字符;

       join

       用法:将两个文件当中有相同数据的那一行加在一起

       join   [-ti12]   file1   file2

       参数:

       -t:join默认以空格符分隔数据,并且对比“第一个字段”的数据,如果两个文件相同,则将两条数据连成一行,且第一个字段放在第一个;

       -i:忽略大小写的差异;

       -1:这个是数字的1,代表第一个文件要用哪个字段来分析的意思;

       -2:代表第二个文件要用哪个字段来分析的意思;

        paste

        用法:直接将两个文件的两行贴在一起,且中间以tap键隔开

        paste   [-d]   file1   file2

        参数:

        -d:后面可以接分隔字符,默认是以tap来分隔的;

        -   :如果file部分写成-,表示来自standard的数据的意思;

        expand

        用法:就是将tap键转成空格键

        expand   [-t]   file

        参数:

        -t:后面可以接数字,一般来说,一个tap按键可以用8个空格键替换,我们也可以自行定义一个tap按键代表多少个字符;

六.切割命令:split

        用法:将大文件切割成指定大小的小文件

       split   [-bl]   file   PREFIX

        参数:

        -b:后面可接欲切割成文件的大小,可加单位,例如b,k,m等;

        -l:以行数来进行切割;

        PRIFIX:代表前导符,可作为分割文件的前导文字;


       



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值