提取最后一行中第n列的值

时间:2017-06-13 19:07:09

标签: shell csv unix sed

我有一个包含以下数据的.csv文件:

Name,Age,Gender
x,10,F
y,20,M
z,30,F
.
.
.

当我运行某些东西时,文件中的行数总是会改变。如何在文件的最后一行中提取Age Name。到目前为止,我试过这个:

  #!/bin/sh
  #extracting the headings and the last line values from the data.csv 
  file
  (head -1 data.csv && tail -1 data.csv) > dummy.txt 
  #this part doesn't work
  (sed -n "Name" data.csv && sed -n "Age" data.csv)>>dummy.txt

以上代码出错:

  

sed:-e表达式#1,char 13:未终止的's'命令*

2 个答案:

答案 0 :(得分:2)

使用awk:

awk -F "," 'END{print $2}' file

使用GNU sed:

sed -rn '$s/.*,(.*),.*/\1/p' file

输出:

30

答案 1 :(得分:0)

`tail -1 file | cut -d, -f2`
  • tail -1获取最后一行,
  • cut -d指定分隔符,
  • -f2指定字段