我的输入文件如下所示:
“true true, rohith Rohith;
cold burn, and fact and fact good good?”
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的:
"true, rohith Rohith;
cold burn, and fact and fact good?"
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 awk,但无法获得所需的结果。
awk '{for (i=1;i<=NF;i++) if (!a[$i]++) printf("%s ",$i,FS)}{printf("\n")}' input.txt
Run Code Online (Sandbox Code Playgroud)
有人可以在这里帮助我。
问候, 罗希斯
使用 GNU awk 对 split() 的第 4 个参数:
$ cat tst.awk
{
n = split($0,words,/[^[:alpha:]]+/,seps)
prev = ""
for (i=1; i<=n; i++) {
word = words[i]
if (word != prev) {
printf "%s%s", seps[i-1], word
}
prev = word
}
print ""
}
$ awk -f tst.awk file
“true, rohith Rohith;
cold burn, and fact and fact good?”
Run Code Online (Sandbox Code Playgroud)