• AWK


      awk不仅仅时linux系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告

     处理的数据可以是一个或多个文件,可以是来自标准输入,也可以通过管道获取标准输入

      awk可以在命令行上直接编辑命令进行操作,也可以编写成awk程序来进行更为复杂的运用。

    -F 指定分隔符

    • 行(记录):默认以 (回车换行)结束。而这个行的结束不就是记录分隔符嘛。
    • 所以在awk中,RS(记录分隔符)变量表示着行的结束符号(默认是回车换行)
    • 在工作中,我们可以通过修改RS变量的值来决定行的结束标志,最终来决定“每行”的内容。
      为了方便人们理解,awk默认就把RS的值设置为“ ”

    让所有单词排成一列,这样每个单词都是单独的一行

    1)设置RS值为空格
    2)将文件里面的所有空格替换为回车换行符“ ”
    3)grep所有连续的字母,grep -o参数让他们排成一列。

    方法一:

    1. awk 'BEGIN{RS="[ ]+"}{print $0}' count.txt | sort |uniq -c|sort
    2. cat count.txt | tr " " " " | sort | uniq -c | sort
    3. grep -o "[a-zA-Z]+" count.txt | sort | uniq -c | sort
    1. NR存放着每个记录的号(行号)读取新行时候会自动+1
    2. RS是输入数据的记录的分隔符,简单理解就是可以指定每个记录的结尾标志。
    3. RS作用就是表示一个记录的结束
    4. 当我们修改了RS的值,最好配合NR(行)来查看变化,也就是修改了RS的值通过NR查看结果,调试awk程序。
    5. ORS输出数据的记录的分隔符
    6. RS是输入记录分隔符,决定awk如何读取或分隔每行(记录)
    7. ORS表示输出记录分隔符,决定awk如何输出一行(记录)的,默认是回车换行( )
    8. FS是输入区域分隔符,决定awk读入一行后如何再分为多个区域。
    9. OFS表示输出区域分隔符,决定awk输出每个区域的时候使用什么分隔她们。
    10. awk无比强大,你可以通过RS,FS决定awk如何读取数据。你也可以通过修改ORS,OFS的值指定awk如何输出数据。
  • 相关阅读:
    为什么有时候程序出问题会打印出“烫烫烫烫...
    VC++共享数据段实现进程之间共享数据
    IEEE浮点数float、double的存储结构
    前端智勇大闯关
    Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)
    来认识下less css
    Koala Framework
    在使用Kettle的集群排序中 Carte的设定——(基于Windows)
    标准库类型
    iOS多线程的初步研究1
  • 原文地址:https://www.cnblogs.com/grrr/p/9874143.html
Copyright © 2020-2023  润新知