linux之管道命令
error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input.
注意:
1、管道命令只处理前一个命令正确输出,不处理错误输出
2、管道命令右边命令,必须能够接收标准输入流命令才行。
作用接收标准输入的命令才可以用作管道右边。否则传递过程中数据会抛弃。 常用来作为接收数据管道命令有:sed,awk,cut,head,top,less,more,wc,join,sort,split 等等,都是些文本处理命令。
1.cut命令
cut命令用于截取字符串,显示到标准输出上。截取信息以行为单位。-c, --characters=LIST :以字符为单位。
-d, --delimiter=DELIM :表示分隔符,默认情况下为TAB。
-f, --fields=LIST :以字段为单位。
2.grep
grep是一个文本搜索工具,用于查找指定的匹配,并输出到标准输出上。支持正则表达式。-c, --count :只是输出文件中匹配的行的总数
-i, --ignore-case :忽略大小写。
-n, --line-number :输出时加上行号。
-v, --invert-match :只显示不包含匹配的行。
3.sort
sort命令用于将文件内容排序,显示到标准输出上。排序是根据某个或多个关键字进行排序。sort默认以第一列数据来排序-b, --ignore-leading-blanks :忽略每行前面开始出的空格字符和制表符。
-f, --ignore-case :忽略大小写。
-M 以月份的名字来排序
-n 使用纯数字排序
-r 反向排序
-t 分隔符,默认为Tab
-k 以给定的区间来排序
4.uniq
将结果去重复,对于重复行仅显示一行。-c, --count :显示输出时,在每行的行首加上该行在文件中出现的次数。
-d, --repeated :只显示重复行。
-i, --ignore-case :忽略大小写。
-u, --unique :只显示文件中不重复的行。
5.wc
对结果进行统计。-l 仅列出行
-w 仅列出多少字
-m 多少字符
6.tee
tee会将数据存在文件中的同时,输出给管道。-a 以累计(append)的方式将数据写到文件file中
7.tr
删除一段信息中的某一段字符串,支持正则表达式。-d 删除字符串
-s 替换重复的字符串
8.col
-x 将tab健换成对等的空格健;-b 在文字内有反斜杠时,仅保留反斜杠最后接的那个字符。
9.join
将两个文件中指定栏位相同的行连接起来。即按照两个文件中共同拥有的某一列,将对应的行拼接成一行。-i :忽略大小写
-t CHAR :以指定字符作为输入输出的分隔符
-1 代表第一个文件要的比较字段
-2 代表第二个文件要的比较字段
join 默认以空白字符做分隔符。
在使用join之前所处理的文件要事先经过排序,否则有些对比的项目会被忽略。
10.paste
将两个文件对应行链接在一起。-d指定链接的分隔符,默认是tab间隔符
- 如果文件将文件位置改为-,表示接收来自standard input的输入。
11.expand
将tab键按指定空格数显示-t 指定空格数数量
12.split
-b 将文件按指定大小分割。-l 以行数来进行分割
13.xargs
xargs构造一个命令行,该命令行由指定的命令,选项以及从标准输入按顺序读取的参数来组成;并确保读取的参数在长度和数量上符合xargs选项指定的约束。然后,xargs调用该命令行,并等待执行完成。从标准输入读取的参数必须用空白字符(不在引号中)或者是换行符(未转义)来分隔。不含双引号和换行符的字符串,可以用双引号来引起来。不含单引号和换行符的字符串可以用单引号引起来。未引起来的字符可以在前面用\来转义。
-0 如果输入的数据含有特殊字符比如`,\,空格等,这个参数指定其为一般字符意义。
-e 后面接遗传字符串,当xargs读取到这个字符串时,就停止。
-p 在执行每个命令的参数时都会询问。
-n 后面接次数,即每次命令执行时要使用几个参数。
若xargs后面没有接任何命令时,默认以echo来进行输出。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。