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

抽出したい270920110846884行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通常の出力のターン
  • 4p4行目を印刷します
  • -d,区切り文字としてcut使用します,
  • -f33番目のフィールドをcut印刷します
于 2012-07-24T06:50:21.763 に答える
2

使用する1つの方法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

perlcsvファイルの4行目に要素3を印刷する代わりに:

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