我awk
在 Windows 中使用。我有一个名为test.awk
. 这个脚本应该读取一个文件并用一个值替换某个文件(键)。key->value 列表位于一个名为translate.txt
.
它的结构是这样的:
e;Emil
f;Friedrich
g;Gustaf
h;Heinrich
i;Ida
在一个简单的例子中,我的输入文件是
e,111
f,222
g,333
h,444
i,555
..
所以输出应该是
Emil,111
Friedrich,222
Gustaf,333
Heinrich,444
Ida,555
..
我拥有的脚本正在使用用户函数key2value
进行替换,但我没有成功地为这个函数提供另一个文件translate.txt
作为源。查看我的代码:
{
FS=","
d=key2value($1)
print d "," $2
}
function key2value(b)
{
#this should use another file, not the currently processed one
FILENAME="translate.txt"
begin
{
FS=";"
if ($1=b)
{
return $2
}
end
}
另一件事,FS 有问题,它只从第二行开始工作。