반응형
달러 기호 ($)를 grep하는 방법은 무엇입니까?
% cat temp
$$$ hello1
$$ hello2
hello3
## hello4
hello5 $$$
% cat temp | grep "$$$"
Illegal variable name.
% cat temp | grep "\$\$\$"
Variable name must contain alphanumeric characters.
%
나는 grep을 원 $$$
하고 그 결과는
% cat temp | grep <what should go here?>
$$$ hello1
hello5 $$$
%
구별하기 위해 프롬프트를 %
.
- 여기서 문제는 무엇입니까?
- grep 문자열 은 무엇이어야 합니까?
문제는 쉘이 큰 따옴표로 묶인 문자열 내에서 변수 이름을 확장한다는 것입니다. 따라서 "$$$"
첫 번째로 시작하는 변수 이름을 읽으려고합니다 $
.
반면 작은 따옴표에서는 변수가 확장되지 않습니다. 따라서 '$$$'
것이다 그것은 사실이 아니었다면 - 작업 $
종료 라인을 나타내는 정규 표현식에서 특수 문자입니다. 따라서 이스케이프해야합니다 '\$\$\$'
..
큰 따옴표를 사용 "
하거나 아무 것도 사용하지 않을 때\: "\\\$\\\$\\\$"
cat t | grep \\\$\\\$\\\$
작은 따옴표 '를 사용하면 다음을 사용할 수 있습니다.
cat t | grep '\$\$\$'
$ grep '\$\$\$' temp
$$$ hello1
hello5 $$$
명령에 슈퍼 플 로스 '고양이'가 있습니다.
나를 위해 작동 :
user@host:~$ cat temp | grep '\$\$\$'
$$$ hello1
hello5 $$$
user@host:~$
어때 ^.*[$]{3}.*$
이 명령과 동일한 문제
complete -W "\`grep -oE '^[a-zA-Z0-9_.-]+:([^=]|$)' Makefile \`"
잘못된 변수 이름입니다.
참고 URL : https://stackoverflow.com/questions/3759926/how-to-grep-for-the-dollar-symbol
반응형
'Nice programing' 카테고리의 다른 글
FtpWebRequest 전에 FTP에 파일이 있는지 확인하는 방법 (0) | 2020.11.14 |
---|---|
상단 및 왼쪽 CSS 속성 설정 (0) | 2020.11.14 |
Matplotlib 플롯에서 선을 제거하는 방법 (0) | 2020.11.14 |
모든 필드에 값이있을 때까지 제출 단추 비활성화 (0) | 2020.11.14 |
0과 1 사이의 rand () (0) | 2020.11.14 |