Unix 또는 Linux의 파일 집합 중 어떤 파일에 단어 집합의 단어가 있는지 확인하는 방법은 무엇입니까?

Unix 또는 Linux의 파일 집합 중 어떤 파일에 단어 집합의 단어가 있는지 확인하는 방법은 무엇입니까?

파일 세트가 있다고 가정 해 봅시다

fSet: f1, f2, f3, f4, f5, ........... f100

할 말이 있어요

wSet: w1, w2, w3, w4, w5, ...........w100

wSet에서 하나 이상의 단어를 포함하는 파일을 어떻게 나열합니까?

그리고 더 나아가

파일 목록뿐만 아니라 각 파일에 포함된 단어도 언급하는 보고서를 만들려면 어떻게 해야 합니까?

그리고 더 나아가

단어에 IP 주소와 같은 특수 기호가 포함된 경우 어떻게 해야 합니까?

답변1

노력하다:

egrep 'w1|w2|...|w100' f1 f2 ... f100

아니면 더 나은 방법은 단어를 파일에 넣고 실행하는 것입니다.

grep -f filewithwords f1 f2 ... f100

답변2

grep --files-with-matches -e w1 -e w2 -e w3 -e w4 -e w5 f1 f2 f3

단어를 파일에 넣으십시오.

:> cat input
w1
w2
w3
w4
w5

:> grep --files-with-matches --file=input f1 f2 f3
f1
f3

:> grep -o --file=input f1 f2 f3
f1:w2
f3:w4
f3:w5

관련 정보