• linux基础(8)-文件处理(awk 、sed、grep)


    grep基本用法
    格式:grep [选项] [模式] [文件]
     
    选项:
    -c:只显示有多少行匹配 ,而不具体显示匹配的行
    -n:在每一行前面打印该行在文件中的行数
    -i:在字符串比较的时候忽略大小写
    -v:显示不包含匹配文本的所欲行
     
    实例1
    ls -l | grep -n "^d" #找到以d开头的内容
    ls -l|grep -n "feigu" #找到以feigu开头的内容
     
     
     
    awk基本用法
     格式
    awk [-F field-separator] 'commands' inputfile
    awk -F: 'commands' inputfile 
    awk -f awk-scpript-file inputfile
     
    实例1
    ls -l|awk '{print $1,$2}' #打印出该文件第一列和第二列的内容。注意只能是单引号。awk默认使用空格分隔符,所以省略了-F。$1,$2...$n,这种方法称为域标记。
     
     
    cat /etc/passwd|awk -F: '$1=="feigu" {print $0}' #第一列的值为feigu。$0表示使用所有域
    cat /etc/passwd|awk -F: '$1=="games" {print $0}' #第一列的值为games 。$0表示使用所有域 。-F表示指定分隔符
     
    cat baidu.log|wc -l  #统计baidu.log 文件的行数
     

    sed基本用法
    sed [选项] [定址commonds] [inputfile]
    sed [选项] -f scriptfile inputfile
    ./scriptfile inputfile(命令脚本首行:#!/bin/sed -f)
     
    选项:
    -n 关闭默认输出,默认将自动打印所有行
    -e 多点编辑,允许多个脚本指令被执行
    -r 支持扩展正则+ ? () {} |
    -f 支持使用脚本
    -i 直接修改原文件,慎用
    定址:
    定址可以是0个,1个,2个。通知sed去处理文件的哪几行。
    0个,处理文件所有行
    1个,处理行号所在位置的行
    2个,处理被行号或正则包起来的行
     
    命令:
    p        打印行
    d        删除行
    s         替换
    a         之后添加一行append
    i         当前行之前插入文本-instert
     
    实例1
    sed -n '1p' baidu.log #打印出文件第一行
    sed -n '1,3p' baidu.log #打印出文件1-3行 ,注意是逗号分隔
     
    sed "s/python/java/g" baidu.log #将文件中python字符串替换成java字符串
    注释:s表示替换命令,/my/表示匹配my,/java/表示把匹配的替换成java,/g表示 替换所有的匹配
     
     
    sed "s/^/#/g" baidu.log #在每一行最前面加#号
     
    sed "s/$/----/g" baidu.log #在每一行最后加----
     
    相关正则
     
    1     ^ 表示一行的开头。如:/^#/ 以#开头的匹配
    2     $ 表示一行的结尾。如:/}$/ 以}结尾的匹配。
    3     < 表示词首。 如 <abc 表示以 abc 为首的詞。
    4     > 表示词尾。 如 abc> 表示以 abc 結尾的詞。
    5     . 表示任何单个字符。
    6     * 表示某个字符出现了0次或多次。
    7     [ ] 字符集合。 如:[abc]表示匹配a或b或c,还有[a-zA-Z]表示匹配所有的26个字符。如果其中有^表示反,如[^a]表示非a的字符
     
     
     
  • 相关阅读:
    OpenCV 立体匹配 (自带程序)
    OpenCV 双目标定 ( 自带的例子)
    容器
    OpenCV 多边形逼近
    C++ 读取文件
    OpenCV 快速连通区域分析
    图像任意旋转
    OpenCV 模板匹配函数matchTemplate详解
    二十一:scrapy中设置下载延时与自动限速
    二十、scrapy中的Request对象和Response对象
  • 原文地址:https://www.cnblogs.com/wujiadong2014/p/5712801.html
Copyright © 2020-2023  润新知