【发布时间】:2018-01-30 00:19:55
【问题描述】:
我的文件 1 看起来像:
bla bla bla STRING_1 blabla STRING_2.
bla bla bla bla bla.
我的文件 2 看起来像(制表符分隔):
FILENAME FIELD_1 FIELD_2
out1 ABCDEF GHIJKL
out2 MNOPQR STUVWX
我正在尝试将 file1 中的 STRING_1 和 STRING_2 替换为 file2 中的相应字段,并输出 2 个不同的文件,其名称如下:
输出1:
bla bla bla ABCDEF blabla GHIJKL.
bla bla bla bla bla.
输出2:
bla bla bla MNOPQR blabla STUVWX.
bla bla bla bla bla.
我尝试了什么:
awk -F '\t' '
NR==FNR{
if(NR>1){
a[NR]=$1
b[NR]=$2
c[NR]=$3
next
}
}
{
for(i=1; i<=FNR; i++){
gsub(/STRING_1/,bi])
gsub(/STRING_2/,c[i])
print $0 > a[i]
}
}
' file2.tab file1.tab
此命令仅创建一个包含以下内容的文件“FILENAME”:
bla bla bla FIELD_1 blabla FIELD_2.
bla bla bla bla bla.
任何帮助将不胜感激。 谢谢!
注意:file1 是唯一的模板文件,其内容不会改变。
【问题讨论】: