2016-10-03 65 views
1

我有一個CSV文件,需要讀取最後一行n列value.So我對它們如何最後一行n列數據從.csv文件中使用shell腳本

    相同的兩個查詢取
  1. 如何做到這一點?
  2. 做它以csv內部循環所有記錄一路
    到最後一行的數據,在這種情況下,取我認爲我們將
    有一些性能問題,如果它是一個大的CSV文件。

感謝

+0

'tail'可以讓你的最後一排。 'awk'可以得到一列。例如[從CSV提取一列](http://stackoverflow.com/questions/19602181/bash-extract-one-column-of-a-csv-file) –

+0

'tail -1 file.csv | awk -F,'{print $ 5}''打印最後一行的第5列 – anubhava

+0

'awk -F,'END {print $ N}'file.csv',其中'N'是最後一行的任何列號需求。 @Inian刪除舊評論,因爲它很混亂。 –

回答

0

才知道,我是由於空格和其他雙引號這是當我取出由CSV文件中的價值今後面臨的問題。 通過trans和awk和truncate的組合解決了該問題。

value=`tail -1 file.csv | awk -F',' '{print $5}' | tr -s ' ' '_' | tr -d '"'` 
ech $value 
0

你也可以做這樣的事情使用剪切命令..

>Wed Oct 05|01:47:01|[email protected][STATION]:/root/ga/scripts/temp/tmp % cat c.csv |head -3 
1,2,3,4,5,6,7,8 
1,2,3,4,5,6,7,8 
1,2,3,4,5,6,7,8 
>Wed Oct 05|01:47:04|[email protected][STATION]:/root/ga/scripts/temp/tmp % cat c.csv |cut -f7 -d","|head -3 
7 
7 
7 
>Wed Oct 05|01:47:06|[email protected][STATION]:/root/ga/scripts/temp/tmp % 
相關問題