替换字段IF MATCH的值

时间:2014-08-22 13:50:09

标签: shell awk

我有一个包含3列的文件,用'\ t'分隔,如下所示:

field_tag field_name field_val

我的目标是将field_val替换为field_val_new,如果field_tag等于某个值,则field_name等于其他值。我怎么能得到这个?

1 个答案:

答案 0 :(得分:0)

您可以使用awk,因为awk基于行/列操作文件:

awk -v  OFS='\t'  '$1 == "some_tag" && $2 == "some_field" {$3 = "field_val_new"} 1' file

PS:包含\t的空白是awk中的默认字段分隔符。