文字列内の繰り返し文字を削除する次のコードがあります。
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
更新されたバージョンの KEY を入手するにはどうすればよいですか?