天天看点

Linux文本处理命令集合(未完成)

文章目录

      • 前言
      • AWK
        • 来源今生
        • 用法
      • CUT
      • GREP
      • 其他常用命令

前言

Linux拥有远超Windows的文本处理能力,其中的原因离不开Linux处理文本的三剑客,借助与sed以及管道|使得分析处理数据更加的方便。

AWK

来源今生

AWK是一种特定于域的语言,专门用于文本处理,通常用作数据提取和报告工具。它是大多数类Unix操作系统的标准功能。

AWK语言是一种数据驱动的 脚本语言,包含一组针对文本数据流采取的操作-直接在文件上运行或用作管道的一部分-用于提取或转换文本,例如生成格式化的文本报告。该语言广泛使用字符串 数据类型,关联数组(即由键字符串索引的数组)和正则表达式。尽管AWK具有有限的预期应用领域,并且专门设计用于支持单行程序,但该语言是图灵完备的,甚至早期的Bell Labs AWK用户也经常编写结构合理的大型AWK程序

AWK于1970年代在贝尔实验室创建,[5] [ 需要更好的资源 ],其名称来源于其作者的姓氏:Alfred Aho,Peter Weinberger和Brian Kernighan。该首字母缩写词与*AWK编程语言*的封面上的auk auk相同。[6] 当使用所有小写字母as编写时,它表示运行以AWK编程语言编写的脚本的Unix或Plan 9程序。

​ 来自维基百科

用法

AWK就是把文本以特定的形式分割,然后一行一行地处理,默认以换行符作为分割。而行内分割则默认为空格等。。

首先说参数

awk [选项参数] 'script' var=value file(s)
或
awk [选项参数] -f scriptfile var=value file(s)
           
选项参数说明:
  • -F fs or --field-separator fs

    指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。

  • -v var=value or --asign var=value

    赋值一个用户定义变量。

  • -f scripfile or --file scriptfile

    从脚本文件中读取awk命令。

  • -mf nnn and -mr nnn

    对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

  • -W compact or --compat, -W traditional or --traditional

    在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。

  • -W copyleft or --copyleft, -W copyright or --copyright

    打印简短的版权信息。

  • -W help or --help, -W usage or --usage

    打印全部awk选项和每个选项的简短说明。

  • -W lint or --lint

    打印不能向传统unix平台移植的结构的警告。

  • -W lint-old or --lint-old

    打印关于不能向传统unix平台移植的结构的警告。

  • -W posix

    打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符和=不能代替和=;fflush无效。

  • -W re-interval or --re-inerval

    允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。

  • -W source program-text or --source program-text

    使用program-text作为源代码,可与-f命令混用。

  • -W version or --version

    打印bug报告信息的版本。

    ​ 摘自菜鸟教程

CUT

字面意思,剪切文本,常用参数有-d 自定义分割 -c 按字符大小分割 -a -f 分割后显示的部分

GREP

嗯, 聚合或者说筛选,将某种特定标识聚合一下

其他常用命令

sort 排序

uniq 筛重 -c

head

tail 等

周末补上吧。。。。

继续阅读