2017-06-13 11 views
2

のn番目の列の値を抽出します。私は何かを実行するときは常に変化し、ファイル内私は、以下のデータをCSVファイル持っている最後の行

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

は、No.ofラインを。ファイルの最後の行でNameAgeをどのように抽出できますか。このうち

#!/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

AWKで:GNUと

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

はsedを:

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

出力:

 
30 
+0

を指定するには

  • 、最後の行を取得しますそれが価値あるものであれば、Fはうまくいく –

  • 0
    `tail -1 file | cut -d, -f2` 
    
    • 尾-1区切り文字を指定する-dカット、
    • -f2がフィールドに
    関連する問題