且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用awk删除bash字符串中的重复项

更新时间:2023-01-12 22:25:36

如果您不需要保持单词顺序:

If you don't need to maintain the word order:

$ ( set -f; printf "%s\n" $s | sort -u | paste -sd" " )
apple appleapple tree

如果您想保留订单:

$ awk '                                                                                                      
    {          
        delete seen
        sep=""
        for (i=1; i<=NF; i++) {
            if (!seen[$i]++) {
                printf "%s%s", sep, $i
            }
            sep=OFS
        }
        print ""
    }
' <<<"$s"
apple tree appleapple