如何从分隔类型文件中的特定行打印特定字段

Posted

技术标签:

【中文标题】如何从分隔类型文件中的特定行打印特定字段【英文标题】:How can I print a specific field from a specific line in a delimited type file 【发布时间】:2012-07-22 10:57:06 【问题描述】:

我有一个排序的、分隔的类型文件,我想提取特定行中的特定字段。

这是我的输入文件:somefile.csv

efevfe,132143,27092011080210,howdy,hoodie
adfasdfs,14321,27092011081847,howdy,hoodie
gerg,7659876,27092011084604,howdy,hoodie
asdjkfhlsdf,7690876,27092011084688,howdy,hoodie
alfhlskjhdf,6548,27092011092413,howdy,hoodie
gerg,769,27092011092415,howdy,hoodie
badfa,124314,27092011092416,howdy,hoodie
gfevgreg,1213421,27092011155906,howdy,hoodie

我想提取27092011084688(来自第4行第3列的值)。

我使用了awk 'NR==4',但它给了我整个第 4 行。

【问题讨论】:

【参考方案1】:

相当简单:

awk -F',' 'NR == 4  print $3 ' somefile.csv

使用,作为字段分隔符,取记录号4并打印somefile.csv中的字段3。

【讨论】:

【参考方案2】:
$ sed -n "4p" somefile.csv | cut -d, -f3

编辑

这是什么?

-n正常输出圈数 4p 打印第 4 行 -d, 使cut 使用, 作为分隔符 -f3 使 cut 打印第三个字段

【讨论】:

【参考方案3】:

一种使用awk的方式:

awk -F, 'NR==4  print $3 ' file.txt

【讨论】:

【参考方案4】:

使用以下内容:

awk -F ',' 'NR==4 print $3'

【讨论】:

【参考方案5】:

perl 替代在 csv 文件的第 4 行打印元素 3:

perl -F, -lane 'print $F[2] if $. == 4' somefile.csv

【讨论】:

以上是关于如何从分隔类型文件中的特定行打印特定字段的主要内容,如果未能解决你的问题,请参考以下文章

如何从 python 中的字段中提取特定数据以打印它?

如何从java中的抽象类arraylist打印特定的对象类型

如何使用AWK将包含特定字符串的行之后的行的第三列中的值打印到不同的文件?

如果列中的值小于特定值,如何转到csv文件中的特定列并打印整行

从C#中的字符串行中获取特定字段或字符

如何从 csv 文件中为 python 中的图形打印特定单元格? [复制]