2013-04-23 79 views
1

使用以下腳本訪問CSV項目。使用awk逐個處理CSV項目

#!/bin/bash 
awk -F "|" 'NR > 0 {print $1}' UserAgents.csv 

運行腳本時,我得到正確的輸出,即CSV第一個'列'中的整個值集被打印到終端。我想添加的是逐個讀取這些項目,並對它們執行一些操作,例如將它們與一個字符串連接起來,然後逐個輸出它們(文件,管道或終端)。

+2

你'{打印$ 1}得到每個項目執行''一個由one'。那麼爲什麼不在那裏做這個動作呢,試着'打印'你好那裏「$ 1'不是作爲回答,因爲我覺得在問題 – abasu 2013-04-23 15:49:04

+1

'NR> 0'中可能還有別的東西 - 如果那是忽略空白行,它應該是'NF> 0' – suspectus 2013-04-23 15:58:19

回答

2

這應該說清楚你的awk腳本是這樣做的:

awk -F '|' '{ 
    print NR, NF, $1, "with some trailing text" 
}' UserAgents.csv 
+0

感謝它幫助我理解awk處理CSV文件中的條目的方式。儘管我最終使用了IFS作爲我的腳本的最終版本。 – 2013-04-23 19:28:02

+0

「我最終使用IFS作爲我的腳本的最終版本」是什麼意思? awk中沒有IFS bultin變量,但有shell。 – 2013-04-23 19:29:41

+0

對不起,我的意思是我最終沒有使用awk。 – 2013-04-25 10:08:52