使用shell脚本对csv单元格进行条件修改

使用shell脚本对csv单元格进行条件修改,shell,csv,Shell,Csv,我有一个csv文件,如下所示 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 我是壳牌公司的新员

我有一个csv文件,如下所示

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
我是壳牌公司的新员工,有人能帮我吗

awk -F, -v OFS=,  '{split($5,a," ");if(a[2]=="Allan")gsub(/Offline/,"Online",$7)}1' inputfile
说明:如果在第五列的下半部分中找到关键字
“Allan”
,则将第七列中的
离线
替换为
在线

说明:如果在第五列的下半部分中找到关键字
“Allan”
,则将第七列中的
离线
替换为
在线

试试这个:

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

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

如果以下任何答案对你的目标有帮助,请在答案旁边的右勾选符号,接受/向上投票结束答案。如果以下任何答案对你的目标有帮助,请在答案旁边的右勾选符号,接受/向上投票结束答案。