#!/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 함수에 전달하려고 하면 문제가 발생합니다. 변수를 전달하지 않는 것 같은데, 이 문제를 어떻게 해결합니까?