我真的是 awk 语言的新手,我对它的强大功能感到惊讶。(我今天发现了这个),因为我有一个这种格式的文件:
test1;test2;test3;test4;test5;test6;test7
我需要在一个新文件中输出它并得到这个结果:
test1;test2;test3;test4 test5;test6;test7
基本上在 4 到 5 美元之间添加“”。我知道对此有很多问题,但我无法做我想做的事。
我正在测试我在这里某处找到的这段代码:
for (i=1;i<=3;i++)
printf "%s;", $i
n = split($0,tmp,/ +/)
for (i=6;i>=8;i++)
printf ";%s", tmp[n-i]
print ""
}
但我得到的输出如下:
test1;test2;test3;test4;test5;test6;;;
你能告诉我我做错了什么吗?而且,还有另一种简单的方法,比如 awk 中的单行代码来做到这一点?先感谢您