我正在尝试用另一个文件中匹配的别名替换一个文件中的字符串。
例如,我希望匹配文件A的每一行中的第一个字段,并将其替换为文件B中的等号。
我不确定如何解决这个问题?是for aw循环还是什么东西?
尝试在Solaris中编写脚本...
档案A
KVHPOJNOTES KVHPOJNOTESSERVER C_POJ_NOTES_C1D63EN KVHPOJNOTES KVHPOJNOTESSERVER C_POJ_NOTES_C99HXEN KVHNOTESIDANAPC KVHPOJANAPC C_POJ_NOTES_START_ANAPC KVHNOTESIDANAPC KVHPOJANAPC C_POJ_NOTES_STOP_ANAPC KVHNOTESIDANAPD KVHPOJANAPD C_POJ_NOTES_START_ANAPD
档案B
KVHNOTESIDAHMLB=ahml02 KVHNOTESIDAHUBA=ahub01 KVHNOTESIDALMLD=alml02 KVHNOTESIDANAPC=anap02 KVHNOTESIDANAPD=anap04 KVHNOTESIDALMLF=alml06
我认为这将是
的内容for i in `cat "File A"`
do
grep $1 "File B" | awk ' { print $3 } '
done
任何帮助都将不胜感激。
由于
答案 0 :(得分:1)
使用AWK:
awk '{ if(NR != FNR) { if(map[$1]) $1=map[$1];print }
else { split($0,a,"=");map[a[1]]=a[2];}}' FileB FileA