0

我有以下工作脚本可以从以前保存到文件中的某些特定字符串中的许多文件的目录中进行 grep。

我使用文件扩展名来 grep 所有文件,因为它的名称是随机的,并注意我以前文件中的每个字符串都应该在所有文件中进行搜索。

此外,我削减了输出 grep,因为它返回匹配文件的 2 或 3 行,我只想要一个显示文件名的特定部分。

我可能正在使用一些多余的东西,它怎么能更快?

#!/bin/bash
#working but slow
cd /var/FILES_DIRECTORY
while read line
do
LC_ALL=C fgrep "$line" *.cps | cut -c1-27 >> /var/tmp/test_OUT.txt
done < "/var/tmp/test_STRINGS.txt"
4

2 回答 2

3
grep -F -f /var/tmp/test_STRINGS.txt *.cps | cut -c1-27

不是你要找的吗?

于 2013-09-26T18:09:31.277 回答
0

这应该加快你的脚本:

#!/bin/bash
#working  fast 

cd /var/FILES_DIRECTORY
export LC_ALL=C

 grep -f /var/tmp/test_STRINGS.txt *.cps | cut -c1-27 > /var/tmp/test_OUT.txt
于 2013-09-26T18:18:17.460 回答