文本处理工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本处理工具相关的知识,希望对你有一定的参考价值。

文本处理工具
  • 各种文本工具、分析、统计文本
  • grep
  • 正则表达式
  • 扩展正则表达式

抽取文本的工具

文本内容:less和cat
文件截取:head和tail
按列抽取:cat
按关键字抽取:grep

文件内容查看

  • 文件查看命令:
    • cat nl tac rev
cat [OPTION]...[FILE]...
    -E:显示行结束 $
    -n:显示出每一行进行编号
    -A:显示所有控制符
    -b:非空行编号
    -s:压缩连续的空行成一行

nl  加行号
tac 将行倒序
rev 将同一行倒序显示
  • 查看非文本命令(二进制):
    • hexdump od xxd
      hexdump   -C 
      od
      xxd
  • 分页查看文件内容:

    • more less
      more:分页查看文件
      more[OPTION...]FILE
      -d:显示翻页及退出提示
      less:一页一页地查看文件或STDIN输出
      查看时有用的命令包括:
      /文件搜索  文本
      n/N  跳到下一个 或者上一个匹配
      less 命令是man命令使用的分页器
  • 显示文本前或后行内容:
    • head tail tailf
head [OPTION...]FILE
    -cN 指定获取前N字节
    -nN 指定获取前N行
    -N 指定行数

例:cat /dev/urandom |tr -dc ‘[:alnum:]‘ |head -c12
    生成随机字符串

tail [OPTION]...[FILE]...
    -cN 指定获取后N字节
    -nN 指定获取前N行
    -N  指定行数
    -f  跟踪显示文件呢fd(文件描述符)新追加的内容,常用于日志监控
        相当于 --follow=name--retry
    -F  跟踪文件名,相当于--follow=name--retry

tailf 类似于tail -f,当文件不增长时并不访问文件 
  • 按列抽取文本cut和合并文件paste
cut [OPTION]...[FILE]...
    -d delimiter:指明分隔符,默认tab
    -f fileds:
        N:第N个字段
        N,N[,N]:离散的多个字段,例如1,3,6
        N-N:连续的多个字段,例如1-6
        混合使用:1-3,7
    -c 按字符切割
    --output-delimiter=STRING指定输出分隔符

例:cut -d: -f1,3 /etc/passwd
    取出/etc/passwd的用户名和UID

    df|cut -c45-47
    取出磁盘空间利用率

    ifconfig ens33 | head -2 | tail -l|tr -s ‘ ‘|cut -d‘ ‘ -f3 
    取ifconfig的ip地址
  • cut和paste
显示文件或STDIN数据的指定列
    cut -d:-f1 /etc/passwd
    cat /etc/passwd|cut -d: -f7
    cut -c2-5 /usr/share/dict/words

paste合并两个文件同行号的列到一行
paste [OPTION]...[FILE]...
    -d 分隔符:指定分隔符,默认用TAB
    -s: 所有行合成一行显示
例:
    paste f1 f2
    paste -s f1 f2 

以上是关于文本处理工具的主要内容,如果未能解决你的问题,请参考以下文章

Unix & Linux的文本处理工具 -- grep, sed & awk

shell编程文本处理工具

文本处理工具

Linux篇 | 文本处理工具和正则表达式

基本文本处理工具

文本处理二