2017-02-06 41 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