简体   繁体   中英

How can I print a specific field from a specific line in a delimited type file

I have a sorted, delimited type file and I want to extract a specific field in specific line.

This is my input file: 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

I want to extract 27092011084688 (value from 4th line , 3rd column ).

I used awk 'NR==4' but it gave me whole 4th line.

Fairly straightforward:

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

Using , as a field separator, take record number 4 and print field 3 in somefile.csv .

$ sed -n "4p" somefile.csv | cut -d, -f3

Edit

What's this?

  • -n turns of normal output
  • 4p prints the 4th row
  • -d, makes cut use , as delimiter
  • -f3 makes cut print the 3rd field

使用awk一种方法:

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

使用以下内容:

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

perl替代csv文件中第4行的print element 3:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM