在tab delmited行上的子串的AWK脚本

时间:2018-03-22 22:26:15

标签: awk gawk


我正在尝试将awk脚本添加到我的一个项目中。我坚持下面的情景,

Persons.txt (制表符分隔文件)

A   M   DHANABALAN  INDIA ....
B   F   SUBHA   US  

我想将第二个标签 M 替换为男性,将 F 替换为女性,并保留所有其他标签值就这样。

预期输出

A   Male    DHANABALAN  INDIA ....
B   Female  SUBHA   US  

我正在尝试如下

我的代码

{ 
    if( $2 == "M"){
        print $1 "Male" 
    }else{
        print $1 "Female"
    }
}

不知道如何打印剩余的标签。请帮助我。

1 个答案:

答案 0 :(得分:2)

$ awk '{ 
    if($2=="M"){
        $2="Male" 
    }
    else{
        $2="Female"
    }
    {print}
}' file

$ awk '{$2=="M"?$2="Male":$2="Female"}1' file

输出:

A Male DHANABALAN INDIA ....
B Female SUBHA US