awk的基本使用
awk 是一种文本处理工具,常用于对文件的行、列进行操作和筛选,以下是 awk 常用参数及其对应的例子:
-F: 指定分隔符
例如,假设我们有一个以逗号分隔的文件 example.csv,要按照逗号将每行数据拆分为多个字段,可以使用如下命令:
awk -F ',' '{print $1, $2}' example.csv
这个命令表示使用 , 作为分隔符,从文件 example.csv 中读取每行数据,并打印第一列和第二列。
NR: 行数计数器
例如,假设我们有一个文件 example.txt,要输出该文件的前 5 行,可以使用如下命令:
awk 'NR <= 5 {print}' example.txt
这个命令表示读取文件 example.txt 的每一行,当行数不大于 5 时,打印该行内容。
NF: 字段数计数器
例如,假设我们有一个以制表符分隔的文件 example.tsv,要找出其中字段数最多的行,并输出该行的内容和字段数,可以使用如下命令:
awk -F '\t' '{if (NF > max_nf) {max_nf = NF; max_line = $0}} END {print max_line, max_nf}' example.tsv
这个命令表示使用制表符作为分隔符,遍历文件 example.tsv 中的每一行,记录字段数最多的行和对应的字段数,最后输出记录下来的最多字段数的行和对应的字段数。
$0: 当前行内容
例如,假设我们有一个文件 example.txt,要将其中所有行转换为大写并输出,可以使用如下命令:
awk '{print toupper($0)}' example.txt
这个命令表示将文件 example.txt 中的每一行都转换成大写,并打印出来。
BEGIN 和 END: 在处理文件前和处理文件后执行的命令
例如,假设我们有一个文件 example.txt,要在其中输出所有行的和,可以使用如下命令:
awk 'BEGIN {sum = 0} {sum += $1} END {print sum}' example.txt
这个命令表示在处理文件前初始化变量 sum 为 0,在处理每一行时将该行的第一列加入到 sum 中,最后在处理文件结束时输出 sum。
原文地址:https://www.cnblogs.com/c-x-a/p/17228974.html
- Python数据科学计算库的安装和numpy简单
- 4G安全:研究人员发现攻击4G无线上网卡和SIM卡的方法
- Python文学化编程 - Jupyter notebook使用和插件拓展
- PoisonCake(毒蛋糕):内置于手机ROM的恶意代码模块
- Spring+SpringMVC+MyBatis整合
- Python之numpy数组学习(五)——广播
- WordPress再悲剧:WPcache-Blogger感染事件影响五万WordPress网站
- 浅谈神经机器翻译
- 窃取Facebook用户信息:利用Android同源策略漏洞的恶意应用被发现
- 关于React Native 安卓首屏白屏优化
- 浅谈spring security 403机制一、无权限访问二、匿名访问三、有权限访问原因机制指定AccessDeniedHandler指定error-page情景原因结论
- Python之numpy数组学习(二)
- Intent 属性详解(上)
- 复仇行动:Notepad++官网被圣战组织黑了
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 用C++跟你聊聊“职责链模式”
- django-常见问题勘误
- 【tensorflow2.0】AutoGraph和tf.Module
- mybatis之第一个mybatis程序(二)
- mybatis-spring整合的三种(逐渐优化)方案
- 用C++跟你聊聊“命令模式”,跟我聊就够了
- 【tensorflow2.0】数据管道dataset
- 用C++跟你聊聊“桥接模式”
- 用C++跟你聊聊“单例模式”,类的“计划生育”
- django-HttpResponse,render,redirect
- django-ForeignKey,OneToOneField,ManyToManyField
- 用C++跟你聊聊“备忘录模式” ,如果能重来,我要···
- 数据库(一)--通过django创建数据库表并填充数据
- springmvc之异常处理中ExceptionHanderExceptionResolver
- 【tensorflow2.0】损失函数losses