zoukankan      html  css  js  c++  java
  • 管线命令(Pipe)

    管线命令接受|前面传来的stdout,管线示意图如下所示:

     管线两个需要注意的地方:

    1.管线仅会处理stdout,忽略对stderr的处理

    2.管线必须接受前个指令的stdin才是

    那么,如果我想接受stderr的数据该怎么处理呢:

    可以用数据流的重新导向功能把stderr重新导向为stdout,用2>&1可以把stderr变成stdout导出

    攫取命令cut,grep

    cut

    把一行中需要的信息取出来

    cut -d'分隔字符' -f fields
    cut -c 字符区间
    -d 根据后面的分隔字符切分 fields,与-f一起用
    -f 分隔符切分之后,分为几段,f代表取第几段的意思
    -c 以字符为单位取出字符

    例:可以取得分割后的字段

    例:在整齐排泄的字符总,可以取得一个区间

    查看登录的用户名

    grep

    如果行内含我们需要的信息,就把这行拿出来

    grep -acinv --color=auto str filename
    -a 将binary文件以text文件查字符串
    -c 计算找出的字符串的次数
    -i 忽略大小写
    -n 输出行号
    -v 反向选择,选择没有str那一行
    --color=auto 找出的关键字加颜色

    例:查字符串行

    反向选择

    配合使用

    高亮

    grep进阶选项

    grep -A -B --color=auto '要搜寻的字符串' filename

    [shichaogeng@study ~]$ grep -n -A3 -B2 MANPATH /etc/man_db.conf

    利用[]搜寻集合字符

    搜寻test和taste两个单字,[]来匹配一个字符

    查询带oo不带g字符

    解释下第19行,因为oo前面可能是o,所以认定oo前面不带g

    oo前面不带小写字母

    也可以这么写

    查询带数字的

    也可以这么写

    利用行首和行尾字符^$

    ^来代表以什么开头

     

    也可以这么写

    查找非英文开头的

    由以上例子可知,^放在[]之内和之外是不同的,放在里面代表非,放在外面代表行首

    查找结尾是.的行

    分析

    可知,^M$为windows换行符,$为linux换行符,这样就可以理解^$的意义了

    怎么找出空白行呢。。。机智的我看了答案就知道了,查以$为开头的当然就是空白行了

    查询并打印出文件中非#的批注和空白行的内容

    任意一个字符.与重复字符*

    小数点.    代表一定有一个任意字符
    *    代表重复前一个字符,0到无穷次
    找出g??d字符的行

    带0个或者多个o的字符

     

    至少两个o以上字符串

    开头结尾都是g,中间至少一个o

    查询gg中间任意字符的字符串

    任意数字字符串

    限定连续字符范围

    查找gg中间0-5个o的字符串

    上条两个以上的oo呢

     

     

     

    排序命令 sort wc uniq

  • 相关阅读:
    Map Rectifier
    倡议“开源GIS团队”成员集思广言
    动力火车终于明白
    搜索操作被google拒绝
    请教ArcGIS server 9.2做的题目的部署问题
    总结基于ArcGIS Server 9.2 Dot Net ADF的WebGIS项目部署问题
    读:『博客家园』 [博客人生]结婚是因为无路可逃
    [Gdaldev] gdalwarp/gcps and ERROR 1: Failed to compute polynomial equations of desired order
    [Gdaldev]用GCPs纠正影像的完整代码(多项式纠正)
    转:将 Oracle Spatial 与 Google Earth 集成
  • 原文地址:https://www.cnblogs.com/gengsc/p/6915872.html
Copyright © 2011-2022 走看看