文本内批量搜索?

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
dreamcast_sh
帖子: 480
注册时间: 2009-06-14 22:16

文本内批量搜索?

#1

帖子 dreamcast_sh » 2011-07-21 13:08

文本一,里面是要搜索的内容e.g

代码: 全选

要搜索的单词1
要搜索的单词2
要搜索的单词3
要搜索的单词4
……
文本二是搜索的目标文本

不想逐个grep,e.g

代码: 全选

grep 要搜索的单词1 文本二
grep 要搜索的单词2 文本二
……
可不可以要脚本实现哩。。。 :em01
想玩生化了。。。
头像
dreamcast_sh
帖子: 480
注册时间: 2009-06-14 22:16

Re: 文本内批量搜索?

#2

帖子 dreamcast_sh » 2011-07-21 13:25

pocoyo 写了:

代码: 全选

grep -E "单词1|单词2|单词3" foo.txt
没看明白 是不是这个意思
关键是单词比较多。。。不想这样手工搜索
单词是集中在一个文件里的,可不可以利用这个文件,省去手工输入
想玩生化了。。。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 文本内批量搜索?

#3

帖子 eexpress » 2011-07-21 14:39

把文本1用awk搞成xx|yy |zz的样子。嵌入grep。
自己调试。
● 鸣学
sk1418
帖子: 229
注册时间: 2007-07-01 17:36
系统: (En):System
来自: (En):address
联系:

Re: 文本内批量搜索?

#4

帖子 sk1418 » 2011-07-21 19:43

grep -f 文本一 文本2
不行么?
---
regards,

Kent
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: 文本内批量搜索?

#5

帖子 fnan » 2011-07-21 20:27

kose3@kose3-desktop:~$ cat 2
one 1
two2
three 3
kose3@kose3-desktop:~$ cat m
one
two
three
kose3@kose3-desktop:~$ grep -f m 2
one 1
two2
three 3
kose3@kose3-desktop:~$ grep -wf m 2
one 1
three 3
不知道具体要那种效果?
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
头像
lexdene
帖子: 434
注册时间: 2010-02-21 16:19
来自: 大连
联系:

Re: 文本内批量搜索?

#6

帖子 lexdene » 2011-07-22 9:05

5楼正解。
头像
dreamcast_sh
帖子: 480
注册时间: 2009-06-14 22:16

Re: 文本内批量搜索?

#7

帖子 dreamcast_sh » 2011-07-22 9:59

唉 学习不用功啊 感谢大家!
想玩生化了。。。
回复