2017-02-06 66 views
1

我有一個CSV文件看起來像下面一個CSV細胞的條件修改使用shell腳本

Name, Age, Status 
John, 24, Online 
Allan, 35, Offline 
Steve, 40, Offline 

使用shell腳本,我需要實現這樣的事情

if (name == "Allan"), set Status="Online" 

所以CSV必須看起來像

Name, Age, Status 
John, 24, Online 
Allan, 35, **Online** 
Steve, 40, Offline 

我是相當新的殼,有人可以請幫忙嗎?

+0

如果下列任何答案在你的目標幫你,請接受/勾選右側的標誌之外的答案給予好評的答案關閉。 –

回答

0
awk -F, -v OFS=, '{split($5,a," ");if(a[2]=="Allan")gsub(/Offline/,"Online",$7)}1' inputfile 

解釋:如果關鍵字"Allan"在第五縱隊下半年的發現則更換OfflineOnline在第七列。

0

試試這個:

awk 'BEGIN {OFS=FS=","} {if ($1=="Allan")sub($3,"Online"); print}' file