Chinaunix

标题: 替换数据问题 [打印本页]

作者: hgx126    时间: 2018-04-27 18:10
标题: 替换数据问题
a文件:

借据号,代码
410769,20070610
423252,0
423260,20070701
423222,2
423259,20070701
423261,20070928

b文件
借据号,代码
410769,a
423252,b
423222,c


求awk代码:如果b文件中的第一列等于a文件中的第一列,则将a文件中的第二列替换为b文件中的第二列数据;如果a文件中的第一列不能匹配b文件的第一列,则a文件中的第二列不变。结果如下:


410769,a
423252,b
423260,20070701
423222,c
423259,20070701
423261,20070928

求代码。谢谢

作者: 关阴月飞    时间: 2018-04-27 20:23
awk -F,  -vOFS=,  'FNR==NR{a[$1]=$2;next}a[$1]!=""{$2=a[$1]}1'   file_b  file_a
作者: wh7211    时间: 2018-04-28 16:17
回复 1# hgx126


  1. awk 'BEGIN{FS=OFS=","}FILENAME==ARGV[1]{a[$1]=$2;next}a[$1]{$2=a[$1]}1' b a
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2