-3

请通过 unix shell 脚本命令帮助实现以下两个要求。

要求1:如果一个平面文件中有“N”列;在平面文件的第 5 列中,应该使用“def”进行盲更新,而不管那里的值如何(值可以是任何值,例如:abc、xyx、foo、den 等)。其余列值数据应保持不变


要求2:如果平面文件中有“N”列;在平面文件的第 5 列中,如果值为“abc”,则应将其替换为“def”,其余列值数据应保持不变。

问候, 斯里哈里

4

1 回答 1

0

With :在语句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
于 2013-06-24T17:29:32.713 回答