zoukankan      html  css  js  c++  java
  • 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的字符
     
     
     
  • 相关阅读:
    HUAWEI防火墙双出口据链路带宽负载分担
    HUAWEI防火墙双出口根据链路优先级主备备份
    HUAWEI防火墙双出口环境下私网用户通过NAPT访问Internet
    如何实现IP话机接入交换机?
    WLAN-AC+AP,动态负载均衡用户量,避免某一个AP负载过重
    WLAN-AC+AP射频一劳永逸的调优方式
    中大型企业有线无线用户统一接入(实施笔记)
    js获取当前时间,返回日期yyyy-MM-dd
    cookie和token都存在在请求头header中,有什么区别,为什么建议使用token?
    vue中cookie的使用——将cookie放在请求头header中
  • 原文地址:https://www.cnblogs.com/wujiadong2014/p/5712801.html
Copyright © 2011-2022 走看看