一.管道命令:将上一个命令的输出作为下一个命令的输入
二.cut:将同一行的数据进行分解,获取数据1.”|“:仅能处理上一个命令传来的正确信息,即standard output的信息,对于standard error并没有直接处理的能力;
2.在管道符后接的第一个数据必定是命令,而且必须支持能够接收standard output的数据;
1.使用:cut -d '分隔符' -f fields
2.常见参数
1)-d:后跟分隔符,与-f一起使用;
2)-f:后跟数字,根据分隔符分割之后,取出第几段;
3)-c:以字符为单位取出固定字符区间,需要处理的数据需要一定格式;
三.grep
1.使用:grep [-acinv....] [--color=auto] 'string' file_name
2.具体使用(grep);
四.sort:排序
1.使用:sort [-fbMnrtuk] file_name
2.常见参数:
1)-f:忽略大小写;
2)-b:忽略最前面的空格;
3)-M:以月份名字来排序;
4)-n:使用数字进行排序;
5)-r:反向排序;
6)-u:即uniq,相同数据仅出现一行代表;
7)-t:分隔符,默认为tab键;
8)-k:以哪个区间来进行排序;
五.uniq:排序完成后将重复的数据仅列出一个来显示
1.使用:uniq [-ic]
2.常用参数:
1)-i:忽略大小写;
2)-c:计数;
六.wc
1.使用:wc [-lwm]
2.常见参数:
1)-l:行数;
2)-w:字数;
3)-m:字符数;
七.tee:双重重定向
八.tr:可以删除一段信息当中的文字,或者进行文字信息的替换1.使用:tee [-a] file;
2.-a:以累加方式,将数据加入file中;
1.使用:tr [-ds] strings
2.常见参数
1)-d:删除信息中strings这个字符串;
2)-s:替换掉重复的字符;
3.例如:
1)
[root@localhost]# head -n 5 /etc/passwd | tr -d ':'
rootx00root/root/bin/bash
binx11bin/bin/sbin/nologin
daemonx22daemon/sbin/sbin/nologin
admx34adm/var/adm/sbin/nologin
lpx47lp/var/spool/lpd/sbin/nologin
You have mail in /var/spool/mail/root
[root@localhost]#
2)
[root@localhost]# echo "abce" | tr '[a-z]' '[A-Z]'
ABCE
九.col:经常被用为将man page转存为纯文本文件以方便查阅
1.使用:col [-xb];
2.常见参数:
1)-x:将tab键转换成对等的空格;
2)-b:在文字内有斜杠(/)时,仅保留它最后接的那个字符;
十.join:处理两个文件之间的数据
1.使用:join [-ti12] file1 file2
2.常见参数:
1)-t:分隔符,默认为空格;
2)-i:忽略大小写;
3)-1:第一个文件以哪个字段分析;
4)-2:第二个文件以哪个字段分析;
3.例子:
[root@localhost]# join -t ':' -1 4 /etc/passwd -2 3 /etc/group | head -n 3join:
文件1 没有被正确排序
join: 文件2 没有被正确排序
0:root:x:0:root:/root:/bin/bash:root:x:root
1:bin:x:1:bin:/bin:/sbin/nologin:bin:x:root,bin,daemon
2:daemon:x:2:daemon:/sbin:/sbin/nologin:daemon:x:root,bin,daemon
这里可以看出,用join处理的文件要先经过排序
十一.paste:直接连接两行,中间以tab键隔开
1.使用:paste [-d] file1 file2
2.-d:分隔符
3.例子:
[root@localhost]# paste /etc/passwd /etc/group | head -n 3
root:x:0:0:root:/root:/bin/bashroot:x:0:root
bin:x:1:1:bin:/bin:/sbin/nologinbin:x:1:root,bin,daemon
daemon:x:2:2:daemon:/sbin:/sbin/nologindaemon:x:2:root,bin,daemon
十二.expand:将tab键转化成空格(unexpand:将空格替换成tab)
1.使用:expand [-t] file
2.-t:后跟数字,表示将tab键替换成几个空格;
3.例子:
[root@localhost]# tail -n 1 test.txt
a b
[root@localhost]# tail -n 1 test.txt | expand -t 1| cat -A
a b$
十三.split:根据文件大小或行数来切割文件
1.使用:split [-bl] file
2.常见参数:
1)-b:后跟切割文件的大小,可加单位b,k,m等;
2)-l:后跟行数,根据行数切割;
十四.xargs:产生某个命令的参数
1.使用:xargs [-0epn] command
2.常用参数:
1)-0(数字0):如果输入的stdin含有特殊字符,这个参数可以将它还原成一般字符;
2)-e:EOF,后跟字符串,当xargs分析到这个字符串时,停止;
3)-p:与用户交互;
4)-n:后跟次数,每次command命令执行时,要使用几个参数的意思。