mac 文本处理命令分享

2 awk

awk '{pattern + action}' {filenames}

awk是在每行处理文本的时候,默认按照空格隔离每一个域,对每一个域做处理。也可以直接通过在awk 后加 -F. 指定分隔符。

ls -l | awk '/rw/{print "第三列:"$3"\t|\t""第5列:"$5}'

第三列:csophys | 第5列:3154
第三列:csophys | 第5列:42
第三列:csophys | 第5列:5253
第三列:csophys | 第5列:32
第三列:csophys | 第5列:35
ls -l | awk 'BEGIN{OFS="&";count=10;for(i=0;i
开始
开始
开始
11&2&csophys&23
12&3&csophys&3675
13&4&csophys&42
14&5&csophys&5253
15&6&csophys&32
16&7&csophys&35
结束

awk中可以使用printf来格式化输出,也可以使用if判断语句

ls -l | awk 'BEGIN{OFS="&";count=10;for(i=0;i3) printf("printf:%s,%s,%s,%s\n",++count,NR,$3,$5)}END{print "结束"}'
)print"开始"}/rw/{if(NR>3) printf("printf:%s,%s,%s,%s\n",++count,NR,$3,$5)}END{print "结束"}'
开始
开始
开始
printf:11,4,csophys,42
printf:12,5,csophys,5253
printf:13,6,csophys,32
printf:14,7,csophys,35
结束

awk 内部变量名的含义如下:

变量名    含义
ARGC   命令行变元个数
ARGV   命令行变元数组
FILENAME   当前输入文件名
FNR   当前文件中的记录号
FS   输入域分隔符,默认为一个空格
RS   输入记录分隔符
NF   当前记录里域个数
NR   到目前为止记录数
OFS   输出域分隔符
ORS   输出记录分隔符

更加强大的功能参考 man awk。 或者参考博客:

  1. http://www.zsythink.net/archives/tag/awk/
  2. https://www.tutorialspoint.com/awk/awk_quick_guide.htm

Original: https://www.cnblogs.com/csophys/p/7476394.html
Author: csophys
Title: mac 文本处理命令分享

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/713843/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SQL 基础

    在平时的工作中,大家可能是 ORM 战士。但是 ORM 之下,还是原生的 SQL。这是整理 SQL 基础时的一些记录。 数据定义语言,用来定义数据库对象,包括数据库、数据表和列。 …

    技术杂谈 2023年7月11日
    049
  • 实现邮箱发送验证码功能

    实现注册和忘记密码界面的邮箱发送验证码功能 邮箱验证步骤 本文使用了redis数据库做验证码的缓存,不想用redis数据库也可以直接将验证码放入mysql中,设置验证码有效期即可。…

    技术杂谈 2023年7月11日
    058
  • Spring源码分析(一)-Spring源码编译

    1 下载源码 1.1 fork源码 由于从github网络下载太慢,就直接在gitee下载了gitee源码镜像,fork主要是为了可以添加注释 2.2 下载源码 将fork的源码c…

    技术杂谈 2023年7月25日
    045
  • 开发当中curl简单使用

    curl是linux上可以发送http请求的命令。当然Postman是一个很好的接口调用管理工具,但在验证一个linux服务器调用另外一个linux服务器API是否可用的场景下,非…

    技术杂谈 2023年7月25日
    067
  • Datahub小结

    往datahub发送数据时,建议使用Producer。好处是不用设置shardId,这样datahub在增加或减少shard时,业务代码都不需要变更。另外datahub的shard…

    技术杂谈 2023年5月30日
    070
  • python 函数闭包

    def power(exp): def exp_of(num): return num ** exp return exp_of # 返回函数对象 square = power(2…

    技术杂谈 2023年7月25日
    056
  • 使用poi-tl导出word文件的几个技巧

    1、前言 Poi-tl提供了基于word模板文件导出word文件的功能。文档地址:http://deepoove.com/poi-tl/。 用下来,总体感觉还是很方便的。但使用过程…

    技术杂谈 2023年6月21日
    0112
  • 注意力机制是什么

    假设有一天热爱绘画的你决定去户外写生,你来到一片山坡上,极目远去,心旷神怡。头顶一片蔚蓝,脚踩一席草绿,远处山川连绵,眼前花草送香,暖阳含羞云后,轻风拂动衣襟,鸟啼虫鸣入耳,美景丹…

    技术杂谈 2023年7月11日
    069
  • Linux环境下,原根分区大小27G,新加入20G硬盘,想要合并到根分区

    ================①、查看磁盘结构 [root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTs…

    技术杂谈 2023年7月11日
    063
  • RHCSA认证考试

    考试要求: 在 mars.domain250.example.com 上执行以下任务。○ 复查 ○ 完成 配置网络设置○ 复查 ○ 完成 配置您的系统以使用默认存储库○ 复查 ○ …

    技术杂谈 2023年6月21日
    0112
  • Linux C/C++ 获取进程号、线程号和设置线程名

    在Linux开发过程中,设计多线程开发时可以将进程和线程的 id 打印出来,方便开发调试和后期查问题使用,同时也包括设置线程名。 2.1 进程ID #include <uni…

    技术杂谈 2023年7月24日
    049
  • Spring 源码学习笔记11——Spring事务

    Spring&#x4E8B;&#x52A1;&#x662F;&#x57FA;&#x4E8E;Spring Aop&#x7684;&a…

    技术杂谈 2023年7月25日
    072
  • 做测试比写代码难

    即不能让减少或增加的两方增减量不同,如 A给B转账,A-10元,B+10元,不变量就是这两个数字加起来=0 Original: https://www.cnblogs.com/da…

    技术杂谈 2023年7月25日
    0217
  • 贝克莱悖论

    17世纪后期,牛顿、莱布尼茨创立微积分学,成为解决众多问题的重要而有力的工具,并在实际应用中获得了巨大成功,然而,微积分学产生伊始,迎来的并非全是掌声,在当时它还遭到了许多人的强烈…

    技术杂谈 2023年5月31日
    067
  • 应用程序架构指导袖珍版

    微软模式与实践小组最近发布了应用程序架构指导袖珍版本,总共有6本,分别介绍了不同类型应用程序的架构指导,包括敏捷架构方法、Mobile应用程序、RIA应用程序、富客户端应用程序、W…

    技术杂谈 2023年5月31日
    082
  • Liunx添加LVM逻辑卷(已有卷组中添加逻辑卷)

    一、对新添加的磁盘进行分区 1、# lsblk //查看物理磁盘 2、[root@Centos7 ~]# fdisk /dev/sdc //磁盘分区( sdc为对应新添加的磁盘)欢…

    技术杂谈 2023年7月24日
    049
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球