文本工具

文本工具基础使用

一、grep 文本搜索工具

grep是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,并将其打印出来。这个命令可以结合正则表达式使用,它也是linux使用最为广泛的命令。

grep:在文件中搜寻字串匹配的行并输出,匹配的是包含。

grep [选项] 关键字 文件
-n 标示出该行的列数编号(显示行号)
-i     不区分大小写
-v     排除指定字符串
^root  匹配以root开头的行
bash$  匹配以bash结尾的行
^$     过滤空行

扩展正则:(grep -E 或 egrep)
   +  : 前一个字符匹配一次或任意多次
   ?  :前一个字符匹配0次或1次
   |  :匹配两个或多个分支选择
   () :匹配其整体为一个字符,即模单元

正则表达式:
    *            前一个字符匹配0次或任意多次
    .            匹配除换行符外任意一个字符
    ^            匹配行首
    []           匹配括号中任意一个字符,只匹配一个字符
    [^]          匹配除括号中字符以外的任意一个字符
    \            转译符,用于取消特殊字符含义
    \{n\}        表示其前面字符恰好出现n次
    \{n,\}       表示其前面字符出现次数不小于n次
    \{n,m\}      表示字符最少出现n次,最多出现m次

二、cut 列提取命令

-f 提取第n列(列号)
-d 分隔符,按照指定分隔符分割列
-c 字符范围,不依赖分隔符分割列,而是通过字符范围来进行字段提取。
“n-”   从第n个字符到末尾
“n-m”  从第n个字符到第m个字符
“-m”   从第一个字符到第m个字符

三、awk编程

awk内置变量:
    $0:  代表目前aek所读入的整行数据,我们已知awk是一行一行读取数据的。
    $n:  代表当前读入行的第n个字段
    NF: 当前行所拥有的字段总数(列数)
    NR: 当前awk所处理的行,是总数据的第几行
    FS: 用户定义分割符
    BEGIN:执行条件前执行
    END: 执行条件后执行
    RS:
    ORS:

awk '{条件1}{条件2}'

四、sed 处理编辑文本文件

Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

    -n : 会把所有数据输出到屏幕,加入此选项,会把经过sed处理后的数据
    -e : 允许对输入数据应用多条sed命令编辑
    -i : 直接将修改的结果保存到文件中,而不是在屏幕上输出。

    a : 追加
    c : 行替换
    i : 插入
    d : 删除指定行
全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务