Bash 对整个文件使用grep
我有一张250行的清单。我必须通过一个web服务器运行所有这些文件,以获得输出列表。然而,这个列表返回的行比我感兴趣的多。比如,我的list.txt是:Bash 对整个文件使用grep,bash,grep,Bash,Grep,我有一张250行的清单。我必须通过一个web服务器运行所有这些文件,以获得输出列表。然而,这个列表返回的行比我感兴趣的多。比如,我的list.txt是: a.1 b.1 etc 然后输出为output.txt: a.1 a b c a.2 b a b a.3 d k o b.1 b o p b.2 o i y b.3 p i y etc 是否可以使用grep命令在output.txt中搜索list.txt中的所有单词,然后生成“通缉”列表通缉.txt 我需要我的output.txt中的整行
a.1
b.1
etc
然后输出为output.txt:
a.1 a b c
a.2 b a b
a.3 d k o
b.1 b o p
b.2 o i y
b.3 p i y
etc
是否可以使用grep命令在output.txt
中搜索list.txt
中的所有单词,然后生成“通缉”列表通缉.txt
我需要我的output.txt中的整行
我在AskUnuntu上问过这个问题,但他们把我送到这里来了。有人建议我这样做
$ grep -wFf list.txt output.txt
但是我被提示一个grep:outofmemory
对于像我这样的初学者,有没有一种简单的方法可以做到这一点?这一行代码读取list.txt
中的每一行,并在output.txt
中对其进行greps(假设您只想在开始时将行与单词匹配,并且仅当它是自己的单词时):
wanted.txt
包含:
a.1 a b c
b.1 b o p
请注意,此解决方案不如使用grep-f
,但可能会解决您的特定内存问题(未经测试)。请澄清您的输入是什么,以及您希望如何输出?250行文件的内存不足?你是在IBM 5150上运行它吗?不是。。。我有一台MacBookPro。这是全新的。我的输入是一个包含250个单词的文件(每行一个)。我想使用每一行/字在output.txt中找到对应的行,并生成一个新的文件wanted.txt这正是我想要的。但是,它只给了我一个空的want.txt文件:(同时cat list.txt
起作用?那么echo test>want.txt
呢?那么cat output.txt
和在读取word时做回显“$word”呢;donewant.txt
?这意味着所有文件都在您的工作目录中,并且您的用户有权在那里创建文件。我已经使用Bash 4.1.5进行了测试,但是由于我的命令只使用兼容的shell语法,并且OS Xgrep
支持-w
选项,我真的看不出您的工作目录会出什么问题机器。我不知道……但是非常感谢你试图帮助我。我想我必须用手来做:(
a.1bar
fooa.1
foo a.1 bar
a.1 a b c
b.1 b o p