awk_常用参数汇总

2024-09-06 19:28
文章标签 参数 汇总 常用 awk

本文主要是介绍awk_常用参数汇总,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

awk 是一个强大的文本处理工具,其中特殊变量用于管理和操作文本。以下是对你提到的变量的详细解释和示例:

NR:当前处理的行号。
NF:当前行的字段数。
FS:输入字段的分隔符。
OFS:输出字段的分隔符。
FNR:每个文件中独立计数的行号。
RS:输入记录的分隔符。
ORS:输出记录的分隔符。
  1. NR(Number of Records)
    NR 表示当前处理的记录数(行号),它从1开始,处理每行时自动递增。

示例:

apple
banana
cherry
命令:
awk '{print NR, $0}' file.txt
输出:
1 apple
2 banana
3 cherry
每行的行号通过 NR 输出。
  1. NF(Number of Fields)
    NF 表示当前记录中的字段数(列数)。

示例: 假设 file.txt 文件内容如下:

apple orange banana
apple orange
命令:
awk '{print $0, "- 字段数:", NF}' file.txt
输出:
apple orange banana - 字段数: 3
apple orange - 字段数: 2
  1. FS(Field Separator,输入字段分隔符)
    FS 是定义输入字段分隔符的变量,默认分隔符是空格或制表符。你可以通过 -F 参数指定分隔符,或者在脚本中直接定义 FS。

示例: 假设 file.txt 内容如下:

apple,orange,banana
apple,orange
命令:
awk -F, '{print $1, $2}' file.txt
输出:
apple orange
apple orange
在这个例子中,使用逗号作为分隔符。
  1. OFS(Output Field Separator,输出字段分隔符)
    OFS 是指定输出字段的分隔符,默认是空格。你可以在脚本中定义它。

示例:

apple orange banana
apple orange
命令:
awk 'BEGIN {OFS="-"} {print $1, $2, $3}' file.txt
输出:
apple-orange-banana
apple-orange-
注意,输出的字段之间用 - 分隔。
  1. FNR(File Number of Records)
    FNR 是每个文件中记录的行号。与 NR 不同,FNR 在处理多个文件时,每个文件从1开始计数。

示例:

file1.txt:
apple
bananafile2.txt:
cherry
date
命令:
awk '{print FNR, $0}' file1.txt file2.txt
输出:
1 apple
2 banana
1 cherry
2 date
FNR 在每个文件中独立计数。
  1. RS(Record Separator,输入记录分隔符)
    RS 是输入记录的分隔符,默认是换行符。你可以将其设置为其他字符,使 awk 按照指定的字符分隔记录。

示例:

apple banana;orange cherry;grape lemon
命令:
awk 'BEGIN {RS=";"} {print NR, $0}' file.txt
输出:
1 apple banana
2 orange cherry
3 grape lemon
此例中,RS 被设置为分号 ;,将记录分隔为3部分。
  1. ORS(Output Record Separator,输出记录分隔符)
    ORS 是输出记录的分隔符,默认是换行符。

示例:

apple orange
banana cherry
命令:
awk 'BEGIN {ORS=";"} {print $1, $2}' file.txt
输出:
apple orange;banana cherry;
ORS 被设置为分号 ;,所以每个记录的输出以 ; 结尾。
  1. NF(Number of Fields)
    NF 表示每行的字段数(列数),通常用于循环或者判断当前行有多少个字段。

示例:

apple orange banana
apple orange
命令:
awk '{print NF}' file.txt
输出:
3
2

这篇关于awk_常用参数汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142902

相关文章

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流