日期:2014-05-16  浏览次数:20560 次

Linux学习记录--管道命令

管道命令

 

选取命令:cut,grep

排序命令:sort,wc,uniq

双重数据量:tee

字符转换命令:tr,expand,col

切割命令:split

参数代换:xargs

 

管道命令与连续命令不同,连续命令中的各个命令不存在相关性只是顺序执行。

对于管道命令来说cmd1|cmd2.

cmd2需要cmd1产生的输出流作为cmd2的输入流,命令之间存在很强的依赖关系,并且管道命令只能处理正确的输出数据流

 

选取命令

 

cut

 

从某一行将一段信息切出来

语法:cut –d ‘分割字符’  -f field

             cut –c 字符范围

选项与参数:

-d:后接分割字符与-f连用

-f:获取经-d分割后的第几个字段

-c:以字符的单位取出固定字符区间,适用于排列正确的信息

选取范围a-b 如果是从第a个字符到最后可写成a-

 

说明:cut可以进行单行与多行分割,对于多行每一行都看做单独的一行分割与获取field

 

举例1:单行分割

[root@localhost ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
[root@localhost ~]# echo $PATH |cut -d ':' -f 1
/usr/kerberos/sbin
[root@localhost ~]# echo $PATH |cut -d '
/usr/kerberos/sbin:/usr/local/sbin


举例2:多行分割

[root@localhost ~]# last -5
root     pts/1        :0.0             Wed Mar  5 09:41   still logged in   
root     :0                            Wed Mar  5 09:40   still logged in   
root     :0                            Wed Mar  5 09:40 - 09:40  (00:00)    
reboot   system boot  2.6.18-371.el5   Wed Mar  5 09:20          (05:08)    
root     pts/1        :0.0             Tue Mar  4 15:27 - crash  (17:53)    
[root@localhost ~]# last -5|cut -d ' ' -f 1
root
root
root
reboot
root

举例3:范围选取