답변:
ARGS="-a -b -c"
grep -- "$ARGS"
grep -- "--name awesome"
.
대시는 http://tldp.org/LDP/abs/html/special-chars.html#DASHREF에 명시된 Bash의 특수 문자입니다 . 따라서 이것을 한 번 빠져 나가면 Bash를 지나갈 수 있지만 Grep은 여전히 옵션을 제공하여 대시에 대한 고유 한 의미를 갖습니다.
따라서 다른 언급 된 답변을 사용하지 않으려는 경우 실제로 두 번 탈출해야합니다. 다음은 작동해야합니다.
grep \\-X
grep '\-X'
grep "\-X"
Bash가 스크립트 / 프로그램에 인수를 전달하는 방법을 시도하는 한 가지 방법은 모든 인수를 에코하는 .sh 스크립트를 작성하는 것입니다. echo-args.sh라는 스크립트를 사용하여 수시로 재생합니다.
echo $*
다음과 같이 호출합니다.
bash echo-args.sh \-X
bash echo-args.sh \\-X
bash echo-args.sh "\-X"
당신은 아이디어를 얻습니다.
grep -e -X
트릭을 할 것입니다.
-P
(그러나 그것은 다른 이야기이며 여기에 적용되지 않습니다)).
grep -- -X
grep \\-X
grep '\-X'
grep "\-X"
grep -e -X
grep [-]X
ls -l | grep "^-"
이것이 당신의 목적을 달성하기를 바랍니다.
grep "^ -X"파일
파일을 구성하는 모든 줄을 grep하고 선택합니다. grep에서 ^는 "로 시작하는 행을 나타냅니다.
-
있습니다.
--
: 않습니다 수단 또는 unix.stackexchange.com/questions/11376/...