문자열을 입력으로 사용하여 텍스트에서 줄을 추출합니다.

문자열을 입력으로 사용하여 텍스트에서 줄을 추출합니다.

정규식 문자열과 일치하는 줄을 추출하는 방법^li 텍스트(파일 아님)에서아래에서는 무엇을 사용하나요 sed?

 linux
 loan
 litmus
 launch

시도해 보았지만 grep인용된 텍스트(텍스트 파일 아님) 내에서 검색하는 방법을 찾을 수 없습니다.

grep -n -i "^li" "linux
loan
litmus
launch" 

반품 No such file or directory. 가능하다면 검색하기 전에 이 텍스트를 파일에 저장하고 싶지 않습니다.

답변1

당신은여기에 문자열( <<<) 여기에 문자열이 입력으로 전달되고 grep, 여기 문자열은 grep조작될 수 있는 파일 설명자를 반환합니다.

$ grep -ni "^li" <<<"linux
loan
litmus
launch"

산출:

1:linux
3:litmus

쉘이 이 문자열을 지원하지 않는 경우(많은 쉘이 지원하지 않음) 문자열을 인쇄하여 다음으로 파이프할 수 있습니다 grep.

$ echo "linux
loan
litmus
launch" | grep -n -i "^li"
1:linux
3:litmus

또는 heredoc( <<)을 사용하십시오.

$ grep -ni "^li" <<EOF
> linux
> loan
> litmus
> launch
> EOF
1:linux
3:litmus

답변2

다음을 수행할 수 있습니다.

grep \^li

그런 다음 내용을 입력하기 시작합니다. grep터미널을 읽을 것입니다. sed같은 일을 할 것입니다. CTRL+D이를 중지하고 ... >saved_output_file출력을 리디렉션하여 효과를 저장하는 데 사용됩니다 .

답변3

당신 과 함께 sed당신은 사용할 수 있습니다sed -n '/^li/p'

@heemayl 예제 사용

$ echo "linux
> loan
> litmus
> launch" | sed -n '/^li/p'
linux
litmus

관련 정보