#!/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'
私はbashスクリプトに初めてアクセスし、ユーザーが提供した入力文字列から重複する項目を削除しようとしています。問題は何も削除されないことです。以下は出力です
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$
最初の文字列はすでに定義されているため、正しく機能します。しかし、ユーザーの入力を受け取り、sed関数に渡そうとすると問題が発生します。変数を渡さないようですが、この問題をどのように解決しますか?