파일 이름 대신 '큰'문자열을 'grep'에 전달하십시오.


26

비교적 큰 문자열을 전달할 grep수 있습니까? 아니면 파일 만 받아 들일 수 있습니까?

grep에 출력을 파이프하는 것이 아니라 다음과 같은 작업을 수행한다는 점에 유의하십시오.

grep 'hello' 'hello world'

(물론 작동하지 않지만 적어도 그렇게는 아닙니다)


어쩌면 어떤 종류의 텍스트 데이터를 grep? 아마 printf "various\ntext to grep here" | grep "text""여기서 글씨를 남길 텍스트"가
Alex

답변:


31

있을 수있다. 이 시도:

grep 'hello' <<< 'hello world'

대신 문자열을 포함하는 변수를 전달할 수도 있습니다.

str='hello world'
grep 'hello' <<< $str

5
참고로 here 문자열 입니다. 자세한 내용은 여기를 참조 하십시오 .
Rockallite

1
위키에서 인용 : 사용할 수에 bash는 , KSH , 또는 zsh을
hoijui

13

grep명령 줄 인수를 검색 할 텍스트로 해석 할 수있는 옵션이 없습니다. grep문자열에 대한 일반적인 방법 은 문자열을 grep표준 입력 으로 파이프하는 것입니다 .

$ echo 'There once was a man from Nantucket
Who kept all his cash in a bucket.
    But his daughter, named Nan,
    Ran away with a man
And as for the bucket, Nantucket.' | grep -i nan
There once was a man from Nantucket
    But his daughter, named Nan,
And as for the bucket, Nantucket.
$

여기에서 볼 수 있듯이 echo두 줄 이상의 텍스트가 포함 된 문자열 을 사용할 수 있습니다 . 원하는 경우 대화식으로 쉘에 입력 할 수도 있습니다.

이것이 귀하의 요구를 충족시키지 못하면 왜 배관이 수용 가능한 솔루션이 아닌지 설명 할 수 있습니까?


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.