文本处理工具

  • grep [Globally search a Regular Expression and Print]
    grep
    grep -E = egrep
    grep 格式
    grep  匹配条件  处理文件
    grep  root  passwd  过滤root关键字
    grep  -i  root  passwd    忽略大小写
    grep  -E  "\<root"  passwd    root字符之前不能有字符
    grep  -E  "root\>" passwd     root字符之后不能有字符

    grep  -数字     显示过滤行以及上面几行和下面几行
    grep  -n     显示匹配的行所在行号
    grep  -A     显示过滤行以及下面几行
    grep  -B     显示过滤行以及上面几行
    grep  -v     反向过滤

    grep字符数量匹配规则
    ^westos      以westos开头 
    westos$     以westos结尾
    w....s       w开头s结尾中间4个任意字符
    .....s        s结尾前面5个任意字符
    *       字符出现任意

    ?       0到1次
    +       1次到任意次
    {n}     n次 
    {m,n}    m到n次
    {0,n}     0-n次
    {,n}       0-n次
    {m,}      最少m次
    (lee){2}   lee字符串出现2次
  • sed
    命令格式:
    sed  参数  命令  处理对象
    sed  参数  处理对象  -f  处理规则文件

    对字符的处理
    p      显示
    sed  -n  5p  westos     显示第五行
    sed  -n  3,5p  westos     显示3到5行
    sed  -ne  3p;5p  westos      显示3和5行
    sed  -ne   1,5p westos     1-5行
    sed  -ne  '5,$p'  westos       5到最后一行
    sed  -n  '/^#/p'  fstab      显示以#开头的行

    d        删除
    sed  5d  westos     删除第五行
    sed  '/^#/d'  fstab    把#开头的行删除
    sed  '/^2/!d'  fstab    除了UUID以外的行都删除
    sed  -e  '5,$d'  westos 

    a        添加
    sed  -e  '$a hello world'  westos
    sed  -e  '$a hello\nworld'  westos
    sed  -e  '/^2/a hello world'  westos

    c        替换
    sed  -e  '/^#/c hello world'  fstab
    sed  '5c hello world'  westos

    w       把符合的行写到指定文件中
    sed  '/^2/w  westofile'  westos     把westos中UUID开头的行写入westosfile中

    i         插入
    sed  '5i hello westos'  westos 

    r        整合文件
    sed  '5r haha'  westos

    sed     字符替换
    sed  's/:/###/g'  passwd 
    sed  's/:/###/'   passwd
    sed  's/:/###/g'  passwd
    sed  '1,5s/:/###/g'  passwd
    sed  '1s/:/###/g'  passwd
    sed  -e  '1s/:/###/g;5s/:/###/g'  passwd

    sed  '/root/,/daemon/s/:/###/g'  passwd
    sed  's/\//####/g'  passwd
    sed  's@/@####@g'  passwd
    sed  's@/@####@g'  -i  passwd      把sed处理的内容保存到wpasswd文件中
  • awk
    awk  -F  分割符  'BENIN{} {} END{}'  FILENAME
    ''内的内容表示要做的动作
    NR  行数
    NF  列数
    FILENAME  文件名称本身
    westos    westos变量值
    "westos"    westos字符串
    /bash$/    条件
    /条件1 | 条件2/    条件1或者条件2
    /条件1/ || /条件2/     条件1或者条件2
    /条件1/ && /条件2/    条件1并且条件2
    $0     所有的列
    $1     第一列 
    $2     第二列
    $3     第三列
    示例:

    /etc/passwd文件的第六列没有home关键字并且以bash结尾的行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值