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