我正在尝试使用grep在目录中找到密钥。
密钥数量巨大,因此我将它们存储在keys.txt
文件中并一次读取一行。
将搜索final_modules目录。
当我们从终端运行一个密钥时,就会找到它。
$cd ~/Unsed_key_task/final_modules
grep -r <KEY>
但是当在下面的文件中迭代相同的密钥时,找不到它。
keys.txt>>
key1
key2
key3
...
...
和 greps.sh&gt;&gt;
FILENAME=$1
while read LINE
do
cd ~/Unsed_key_task/final_modules
let count++
echo $LINE
pwd
grep -r $LINE
if [ $? -eq 0 ]
then
echo " found"
else
#echo "not found"
echo $count
echo $LINE
echo " [ Not found ]"
fi
done < $FILENAME
当我打印$LINE
时,它打印正确,pwd
打印正确的目录。
我的代码只找到一个键并退出。
答案 0 :(得分:3)
grep
可以从文件中读取模式。您不需要自己迭代$FILENAME
。您想要实现的目标可以通过以下简单命令完成:
grep -f "$FILENAME" -r