【发布时间】:2018-09-27 01:17:45
【问题描述】:
我正在尝试搜索包含与另一个文件中列出的完全相同的 id 的所有文件,并将文件名放在另一个文件中。我正在使用以下命令来查找文件。
grep -w -f SearchList.txt INFILES* > matched.txt
ID 列在 SearchList.txt 文件中 示例 -
450462134
747837483
352362362
INFILES 文件包含这种格式的数据-
0120171116 07:37:45:828501450462134 000001205 0120171116
07:37:45:828501747837483 000001205 0120171116
07:37:45:828501352362362 000001205
我正在寻找的 id 在开头与其他文本结合,但在结尾有一个空格。
我尝试将 \b 放在 SearchList.txt 文件中搜索文本的开头和结尾,但仍然得到不正确的结果。
任何导致正确命令的线索将不胜感激。
-bash-3.2$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
-bash-3.2$ grep --version
grep (GNU grep) 2.5.1
【问题讨论】:
-
edit 您的问题,以根据您发布的示例输入显示预期输出。目前尚不清楚您是否正在寻找与数字匹配的行,或者与它们匹配的单词,或者如果它们匹配或不匹配则只是是/否或其他内容。此外,按照格式化代码的方式格式化输入和输出。
-
当您的 SearhList.txt 中有
120171116、00001205或2134之类的条目时,它们应该与第一行匹配还是您有其他要求?
标签: unix grep full-text-search