博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AWK
阅读量:6156 次
发布时间:2019-06-21

本文共 949 字,大约阅读时间需要 3 分钟。

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

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

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

-F 指定分隔符

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

    为了方便人们理解,awk默认就把RS的值设置为“\n”

 

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

 

1)设置RS值为空格

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

 

方法一:

  1. awk 'BEGIN{RS="[ ]+"}{print $0}' count.txt | sort |uniq -c|sort
  2. cat count.txt | tr " " "\n" | 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如何输出一行(记录)的,默认是回车换行(\n)
  8. FS是输入区域分隔符,决定awk读入一行后如何再分为多个区域。
  9. OFS表示输出区域分隔符,决定awk输出每个区域的时候使用什么分隔她们。
  10. awk无比强大,你可以通过RS,FS决定awk如何读取数据。你也可以通过修改ORS,OFS的值指定awk如何输出数据。

 

转载于:https://www.cnblogs.com/grrr/p/9874143.html

你可能感兴趣的文章
linux/CentOS6忘记root密码解决办法
查看>>
25个常用的Linux iptables规则
查看>>
集中管理系统--puppet
查看>>
分布式事务最终一致性常用方案
查看>>
Exchange 2013 PowerShell配置文件
查看>>
JavaAPI详解系列(1):String类(1)
查看>>
HTML条件注释判断IE<!--[if IE]><!--[if lt IE 9]>
查看>>
发布和逸出-构造过程中使this引用逸出
查看>>
使用SanLock建立简单的HA服务
查看>>
Subversion使用Redmine帐户验证简单应用、高级应用以及优化
查看>>
Javascript Ajax 异步请求
查看>>
DBCP连接池
查看>>
cannot run programing "db2"
查看>>
mysql做主从relay-log问题
查看>>
Docker镜像与容器命令
查看>>
批量删除oracle中以相同类型字母开头的表
查看>>
Java基础学习总结(4)——对象转型
查看>>
BZOJ3239Discrete Logging——BSGS
查看>>
SpringMVC权限管理
查看>>
spring 整合 redis 配置
查看>>