码迷,mamicode.com
首页 > 其他好文 > 详细

管道(Pipe)

时间:2017-08-06 20:49:54      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:服务   path   blog   scl   信息   体会   span   一个   www.   

参考http://www.cnblogs.com/kkgreen/archive/2012/03/25/2417036.html

总而言之,输出数据有时候会很多,如何过滤到我们想要的最终结果?用Pipe,符号是 | 

 

撷取命令cut、grep

含义:就是将一段数据经过分析后,取出我们所想要的

注意:一般来说,撷取讯息通常是针对『一行一行』来分析的

 

1.Cut

格式:cut -d ‘分隔字符‘ -f fields

    cut -c 字符区间

参数:
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段讯息分割成为数段,用 -f 取出第几段的意思;
-c :以字符 (characters) 的单位取出固定字符区间;

 

范例一:去除PATH变量的第三个路径

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

$ echo $PATH | cut -d ‘:‘ -f 3
/usr/sbin 

 以冒号为分割符取出第三个路径,如果要同时取出多个,比如第三个和第五个,就这样写

$ echo $PATH | cut -d ‘:‘ -f 3,5
/usr/sbin:/sbin

 

范例二:取出export输出的第12字符以后的所有字符串

$ export
declare -x HOME="/home/philosophie"
declare -x LANG="zh_CN.UTF-8"
declare -x LANGUAGE="zh_CN:zh"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"

………………

………………

$ export | cut -c 12-
HOME="/home/philosophie"
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LESSCLOSE="/usr/bin/lesspipe %s %s"
LESSOPEN="| /usr/bin/lesspipe %s"

 

注意:1.还是上面提到的,是一行一行处理的,所以是每一行的第12字符开始。

  2.上面是 12- 而不是12。可以这样理解,cut还可以指定区间,比如要12到20之间的,就这样写

$ export | cut -c 12-20
HOME="/ho
LANG="zh_
LANGUAGE=
LESSCLOSE

这样就能体会到为什么是12-了

 

范例三:用 last 将这个月登入者的信息中,仅留下使用者大名

$ last
philosop pts/43 192.168.1.102 Sun Aug 6 18:20 still logged in
philosop pts/41 192.168.1.102 Sun Aug 6 18:20 still logged in
philosop pts/41 192.168.1.103 Sun Aug 6 18:10 - 18:12 (00:02)
philosop pts/41 192.168.1.103 Sun Aug 6 17:56 - 17:59 (00:03)

利用空格作为分隔符,取出第一个信息即可

$ last | cut -d ‘ ‘ -f 1
philosop
philosop
philosop

 

可以发现,当要处理的数据具有某种格式的时候,用cut能很好的分割出我们要的数据,可以用在分析服务器上log文件

注意:cat在遇到多空格的时候是不会当作一个空格处理的,比如有一个文件ab里面的内容是abc   cb fda b

用空格作为分隔符找出第一个和第二个信息会这样写

$ cat ab | cut -d ‘ ‘ -f 1,2
abc

 

可以发现,并没有得到想要的结果。

 

2.grep

 

管道(Pipe)

标签:服务   path   blog   scl   信息   体会   span   一个   www.   

原文地址:http://www.cnblogs.com/i-love-kobe/p/7295682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!