답변:
쉘 해석되는 \$등 그렙로를 통과 $광고 문자의 끝. 따라서 라인이 끝났다고 가정하면 일치합니다 :-)
$grep에서 실제와 일치 시키려면 다음 중 하나를 사용하십시오.
grep \\\$
grep '\$'
이전에, 쉘 해석은 \\같은 \과 \$같은 $, 부여 \$. 후자에서는 전혀 해석하지 않습니다.
\$두 문자 시퀀스가 아닌 달러 기호와 왜 일치 하는지에 대한 귀하의 질문에 관해서 는, grep어떤 목적으로 특수 문자를 사용 하는 것과 같은 정규 표현식이 사용 됩니다. 그 중 일부는 다음과 같습니다.
$ end of line
^ start of line
. any character
+ 1 or more of the preceeding pattern
* 0 or more of the preceeding pattern
{n,m} between n and m of the preceeding pattern
[x-y] any character between x and y (such as [0-9] for a digit).
많은 다른 사람들과 함께.
일반적으로 특수 문자로 취급되는 문자를 일치 시키려면이 문자를 이스케이프 grep처리하여 일반 문자로 취급해야합니다.
ls \$좋고 (ls : $ : 해당 파일이나 디렉토리가 없음), \ $가 $로 이스케이프 처리되지 않았지만 \\ $가 \ $로 이스케이프 처리되지 않음 등을 확인하십시오.
쉘은 먼저 인수를 프로그램에 전달하기 전에 모든 이스케이프 시퀀스를 확장하므로 이스케이프 시퀀스로 해석 \$하고 단일 인수 $를 grep행 끝과 일치시키는 로 전달합니다 . 모든 줄에는 끝이 있으므로 모든 줄은 다음과 일치해야합니다. :)
줄 끝 메타 문자로 해석되고 있습니다. 실제 달러 기호와 일치 시키려면
$ grep \\$
또는
$ grep '\$'
echo \$다음echo \\$