Entfernen Sie Duplikate aus der Eingabezeichenfolge durch den verwendeten sed

Entfernen Sie Duplikate aus der Eingabezeichenfolge durch den verwendeten sed
#!/bin/sh/sed -nf
printf "Enter a string:-\n"
read -r string
printf "Entered string is:-\n"
echo "$string"
echo -e "${string}" |sed -nr '$!N;/^(.*)\n\1$/!P;D'

Ich bin neu im Bash-Scripting und versuche, Duplikate aus einer Zeichenfolge zu entfernen, deren Eingabe vom Benutzer erfolgt. Das Problem ist, dass nichts entfernt wird. Unten sehen Sie die Ausgabe

roschlynn@Asus-X512FL:~/Desktop/Shell$ bash pipelinecmd.sh 
Printing the string:-

1\n2\n2\n3\n3\n3\n4\n4\n4\n4\n5

1
2
3
4
5
Enter a string:-
king\quenn\king\jck
Entered string is:-
king\quenn\king\jck
king\quenn\king\jck
roschlynn@Asus-X512FL:~/Desktop/Shell$ ^C
roschlynn@Asus-X512FL:~/Desktop/Shell$ 

Die erste Zeichenfolge funktioniert einwandfrei, da sie bereits definiert ist. Das Problem tritt jedoch auf, wenn ich versuche, die Eingabe des Benutzers anzunehmen und an die Sed-Funktion zu übergeben. Ich vermute, dass die Variable nicht übergeben wird, aber wie löse ich dieses Problem?

verwandte Informationen