정규식 문자열과 일치하는 줄을 추출하는 방법^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