grep이 멈췄습니다.

grep이 멈췄습니다.

grep을 사용하는 데 문제가 있습니다. Win 10에 ubuntu 18.04가 설치되어 있습니다. 가장 간단한 명령으로 인해 작동이 정지되고 취소할 수 있으며 원할 경우 새 파일을 만들 수 있지만 아무 것도 쓰지 않습니다. 그것.

$ mkdir test
$ cd test
$ ls
$ sudo grep "Werk!" > new
^C
$ ls
new
$ cat new

나는 분명한 것을 놓치고 있습니까?

답변1

예. STDIN을 grep'ing 중이므로 결코 오지 않는 입력을 기다리며 영원히 정지됩니다.

아마도 "."를 포함하려고 했을 것입니다. 현재 디렉토리를 grep하기 위해 grep 및 -r(재귀)에 대한 인수로 사용됩니다.

grep -r hello .

다른 사람들도 기본 동작이 이상적이지 않다고 생각 하므로 이 문제가 없는 grep몇 가지 대안을 찾을 수 있습니다 . grep예를 들어실버 수색자이름으로 이동하며 ag기본적으로 현재 디렉토리를 재귀적으로 검색하므로 올바른 구문에 대한 추측은 다음과 같습니다 ag.

ag hello

ag또한 대문자를 포함하지 않는 한 기본적으로 대소문자를 구분하지 않는 검색이 적용됩니다. 이는 아마도 여러분이 원하는 것일 수도 있습니다. 또한 기본적으로 사용되는 더 약하고 오래된 glob 스타일 일치 대신 색상을 사용하고 더 강력한 PCRE 정규식 엔진(Perl과 같은)을 사용하도록 기본 설정되어 있습니다 grep.

이와 같은 사용성 문제로 grep인해 가능한 경우 새로운 대안을 사용해야 하고 grep필요할 때만 사용해야 합니다. grep공유할 수 있는 쉘 스크립트용 표준 도구와 로그인할 Linux 상자의 표준 유틸리티를 아는 것은 여전히 ​​유용합니다.

"ripgrep"과 "ack"는 grep의 또 다른 좋은 대안입니다.

답변2

grep패턴을 검색하는 파일을 지정하는 명령 의 두 번째 인수가 누락되었습니다 .

팔로우해주세요남자 1 grep에 대한 도움을 받으려면 grep.

답변3

아마도 "new" 파일에 텍스트를 녹음하고 싶을 수도 있습니다. "echo texts > new"를 사용하면 됩니다.

관련 정보