假设我有一组文件
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