0
我有这样的代码在一个字符串,删除重复的字符:删除重复的字符
awk -v FS="" '{
for(i=1;i<=NF;i++)str=(++a[$i]==1?str $i:str)
}
END {print str}' <<< "AABBCC"
结果是:
ABC
这正是我想要的是;但问题是当我传递一个变量时,它会删除重复的字母,但它不会更新变量的值。例如:
KEY=AABBCC
awk -v FS="" '{
for(i=1;i<=NF;i++)str=(++a[$i]==1?str $i:str)
}
END {print str}' <<< "$KEY"
echo the new key is: $KEY
结果是:
ABC
新的关键是:AABBCC
我怎样才能拿到钥匙的更新版本?
您只需要将awk命令的结果再次分配给变量。 'KEY = $(awk ...)' – 2014-08-31 13:28:24
@EtanReisner对不起,我没注意到。当我重写代码时,这是一个错误。 – Alladin 2014-08-31 13:33:00
这是我在之前的评论中对他的回应。显然你的原代码正在工作。 – 2014-08-31 13:33:32