해당 디렉토리의 lot 파일에서 해당 문자열을 검색하여 발견되면 파일명과 라인을 저장

해당 디렉토리의 lot 파일에서 해당 문자열을 검색하여 발견되면 파일명과 라인을 저장

이름이 다른 파일이 여러 개 있습니다. 특정 형식이 없습니다. 하지만 모든 것이 .txt. 예를 들어:

example.txt
flower.txt
abc.com.txt

이들은 동일한 디렉토리에 있습니다. 모든 파일에서 문자열(예: )이 있는 줄을 검색하고 <html>, 발견되면 해당 문자열이 있는 줄을 추출하고 싶습니다. 그런 다음 검색 결과를 다음과 같은 results.txt 파일에 저장하고 싶습니다.

파일명, 라인

예를 들어 <html>문자열이 및 에서 발견되면 결과 파일은 다음과 같습니다.example.txtabc.com.txt

example.txt,<html>[the rest of the line where html is found]
abc.com.txt,<html>[the rest of the line where html is found]

Linux에서 이를 어떻게 달성할 수 있습니까?

답변1

grep명령은 주석에서 수락한 작업을 정확하게 수행합니다. (여러 개의 파일을 보장할 수 있는 경우에는 생략해도 됩니다 -H.)

grep -FH '<html>' *

-F플래그는 정규식 처리를 끄므로 문자열이 리터럴로 처리됩니다.

관련 정보