请通过unix shell脚本命令帮助实现以下两个要求。
要求1:如果平面文件中有“N”列;在平面文件的第5列中, 无论存在什么价值,都应该使用“def”进行盲目更新 那里(值可以是任何ex:abc,xyx,foo,den等)。保留其他列值数据应该保持不变
要求2:如果平面文件中有“N”列;在平面文件的第5列中,如果值显示为“abc” 应该用“def”替换,剩下的 其他列值数据应保持不变。
此致 斯里里
答案 0 :(得分:0)
使用awk
:在BEGIN
语句中设置分隔符。如果分隔符是空格,则删除BEGIN
语句。
要求1:
awk 'BEGIN{FS=OFS=":"}{for(i=1;i<=NF;i++)if(i==5){$i="def"}}1' your_file
要求2:
awk 'BEGIN{FS=OFS=":"}{for(i=1;i<=NF;i++)if(i==5 && $i=="abc"){$i="def"}}1' your_file