鸟哥Linux学习之——管道命令

来源:互联网 发布:2014网络漏洞重大事件 编辑:程序博客网 时间:2024/05/16 06:26
管道命令简单的理解就是将前一个命令的结果,作为后一个命令参数进行进一步的处理
注意:
1、管道命令仅会处理standard output,即标准输出,对于标准错误输出(standard error output)会进行忽略
2、管道命令必须要能够接受来自前一个命令的数据成为standard output继续处理才行

一、选取命令:cut、grep

1、cut

命令:cut [-d '分隔字符' -f fields] [-c 字符范围]
参数:
-d:后面接分隔字符,与-f一起使用
-f:依据-d的分隔字符将一段信息分隔为数段,用-f表示取出第几段的意思,可以指定多段,用,分隔
-c:以字符的单位取出固定字符区间
例:
echo $PATH | cut -d ':' -f 3,5 表示以:分隔每行数据,并取出第3段和第5段的数据
echo $PATH | cut -c 12- 表示从第12个字符开始取数据

2、grep

命令:grep [-acinv] [--color=auto] 查找字符串 filename
参数:
-a:将二进制(binary)文件以文本(text)文件的方式查找数据
-c:计算找到‘查找字符串’的次数
-i:忽略大小写
-n:顺便输出行号
-v:反向选择,即显示出没有‘查找字符串’内容的数据
--color=auto:将找到的关键字部分加上颜色

3、cut与grep的不同

cut主要用于将同一行的数据进行分解,取出想要的关键数据,常用于分析一些数据或文字的时候,cut在处理多空格相连的数据时,会比较吃力
grep会根据指定的匹配取出满足要求的行

二、排序命令:sort、wc、uniq

1、sort

命令:sort [-fbMnru] [-t '分隔符' -k field] [file or stdin]
参数:
-f:忽略大小写
-b:忽略最前面的空格
-M:以月份的名字来排序
-n:使用“纯数字”进行排序
-r:反向排序
-u:即uniq,相同的数据中,只取一行
-t:分隔符,默认以[tab]分隔
-k:以那个区间来进行排序

2、uniq

命令:uniq [-ic]
参数:
-i:忽略大小写
-c:进行计数,在每行的行首显示该行重复的次数
3、wc
命令:wc [-lwm]
参数:
-l:仅列出行
-w:仅列出多少字(英文单字)
-m:多少字符

三、切割命令:split

命令:split [-bl] file PREFIX
参数:
-b:后面接欲切割成的文件大小,可加单位(b,k,m等)
-l:以行数来切割
PREFIX:代表前导符,可作为切割文件的前导字符

四、其他

less,more,tail,head