awk显示某一个字段在第几行第几列

这篇博客介绍了如何利用awk命令找到特定字段在文件的行号和列号。通过awk的内置变量和循环结构,结合条件判断和匹配函数match,实现对文件内容的搜索,以指定格式输出结果。
摘要由CSDN通过智能技术生成

今天最有收获的算是这篇blog了,虽然花了点时间去理解,不过还是蛮欣慰的

总算是找出解决办法了,而且学到了新东西

切入正题:

这里面主要是

awk里面使用for循环

然后for循环又嵌套了if语句

之后if语句里又用到了awk的条件表达式

另外还可能涉及到定义awk内置变量


原文件内容是

[root@localhost zhaoyj]# cat file.txt
Mike Harrington:[510] 548-1278:250:100:175
Christian Dobbins:[408] 538-2358:155:90:201
Susan:[206] 654-6279:250:60:50
Archie McNichol:[206] 548-1348:250:100:175

现在要做的是:

查找“Susan”这个字段所在的行号和列号,并以一定的格式输出

输出格式为:

Susan:    "数字1"Line  " 数字2"Column


使用awk内置变量:
[root@localhost zhaoyj]# awk -F: -v str="Susan" '{v="";for (i=1;i<=NF;i++)  if ($i==str) v=v?"":i;if (v) print str":\t"NR"Line"v"Column"}' file.txt
Susan:  3Line1Column

### 回答1: 在 shell 中使用 awk 显示第 3 个字段的命令是: ``` awk '{print $3}' file.txt ``` 其中 `file.txt` 是你要处理的文件的名称。在这个命令中,`awk` 会读取 `file.txt` 文件的每一行,并将其视为一个记录,每一个字段都是记录中的一部分。`$3` 指示输出第 3 个字段。 ### 回答2: 在shell中使用awk命令来显示第三个字段非常简单。下面是一种简单的方式: 首先,我们需要用到awk命令来处理文本数据,所以确保系统上已经安装了awk。在大多数Linux系统上,awk是默认安装的。 假设我们有一个名为data.txt的文本文件,它的内容如下: 1,2,3,4,5 a,b,c,d,e x,y,z,1,2 我们可以使用以下命令来显示第三个字段awk -F',' '{print $3}' data.txt 解释一下这个命令: - awkawk命令的名称 - -F','用于指定数据的分隔符,这里我们使用逗号作为分隔符 - '{print $3}'是awk一个动作,它表示打印第三个字段的内容 - data.txt是要处理的文本文件的名称 执行以上命令后,输出将是: 3 c z ### 回答3: awk 是一种功能强大的文本处理工具,可以用于从输入文本中提取和处理数据。要显示第3个字段,即文本中每一行的第3个单词或列,我们可以使用 awk 命令加上相应的参数和选项。 以下是一种示例方式: 假设我们有一个名为 data.txt 的文本文件,其中包含多行文本。我们可以通过在终端中输入以下命令来显示每行的第3个字段: ``` awk '{print $3}' data.txt ``` 解释如下: - awk 是命令的名称,表示我们要使用 awk 工具。 - '{print $3}' 是 awk一个模式和操作块。在这里,$3 表示第3个字段。 - data.txt 是我们要处理的输入文件的名称。 执行以上命令后,awk 将读取 data.txt 文件的内容,并提取出每行的第3个字段,并将其打印(显示)在终端中。 注意:以上示例假设输入文件 data.txt 中的字段是以空格或制表符作为分隔符的。如果字段之间使用其他分隔符(例如逗号),可以使用 -F 参数指定分隔符。例如: ``` awk -F, '{print $3}' data.txt ``` 这将解释逗号为字段分隔符,并显示每行的第3个字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值