Linux 当第3列有特定单词时,如何将其替换为第1列?
我有一个三列数据文件,其格式如下:Linux 当第3列有特定单词时,如何将其替换为第1列?,linux,replace,Linux,Replace,我有一个三列数据文件,其格式如下: convicts NP convict console JJ <unknown> apples NP apple 罪犯 控制台JJ 苹果 所以,这里我想把console这个词放在“unknown”这个词的位置 PS:这是一个巨大的文件,多次包含“未知”一词。所以,无论第三列中“未知”一词出现在哪里,我都希望它被对应的第一列单词所取代 我试着使用这个命令 awk ' { $3="unknown"; $3=$1; print } ' <
convicts NP convict
console JJ <unknown>
apples NP apple
罪犯
控制台JJ
苹果
所以,这里我想把console这个词放在“unknown”这个词的位置
PS:这是一个巨大的文件,多次包含“未知”一词。所以,无论第三列中“未知”一词出现在哪里,我都希望它被对应的第一列单词所取代
我试着使用这个命令
awk ' { $3="unknown"; $3=$1; print } ' <FILENAME>
awk'{$3=“未知”;$3=$1;print}'
但这将用第一列的单词替换整个第三列。请帮助我如何纠正这一点。提前谢谢 如果要用相应的行第一列值替换
:
awk '$3=="<unknown>"{$3=$1;} {print};' filename
awk'$3==''{$3=$1;}{print};'文件名