7

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

这是我的输入文件: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 行。

4

5 回答 5

6

非常坦率的:

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

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

于 2012-07-24T06:50:33.423 回答
3
$ sed -n "4p" somefile.csv | cut -d, -f3

编辑

这是什么?

  • -n正常输出匝数
  • 4p打印第 4 行
  • -d,用作cut分隔,
  • -f3打印cut第三个字段
于 2012-07-24T06:50:21.763 回答
2

一种使用方式awk

awk -F, 'NR==4 { print $3 }' file.txt
于 2012-07-24T06:51:08.543 回答
1

使用以下内容:

awk -F ',' 'NR==4 {print $3}'
于 2012-07-24T06:51:58.853 回答
0

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

perl -F, -lane 'print $F[2] if $. == 4' somefile.csv
于 2012-07-24T09:17:29.980 回答