![Unix 또는 Linux의 파일 집합 중 어떤 파일에 단어 집합의 단어가 있는지 확인하는 방법은 무엇입니까?](https://linux55.com/image/125804/Unix%20%EB%98%90%EB%8A%94%20Linux%EC%9D%98%20%ED%8C%8C%EC%9D%BC%20%EC%A7%91%ED%95%A9%20%EC%A4%91%20%EC%96%B4%EB%96%A4%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EB%8B%A8%EC%96%B4%20%EC%A7%91%ED%95%A9%EC%9D%98%20%EB%8B%A8%EC%96%B4%EA%B0%80%20%EC%9E%88%EB%8A%94%EC%A7%80%20%ED%99%95%EC%9D%B8%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
파일 세트가 있다고 가정 해 봅시다
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