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

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1