我的要求是搜索日志并找到一些特定的条目。日志文件位于两个不同的路径。我想在两者中搜索。
通常我登录服务器,转到路径并执行grep -i word * filename *
我想准备一个脚本,它将接受用户输入的单词和文件名并搜索它。
答案 0 :(得分:3)
您可以根据需要搜索任意数量的路径:
grep -i "word" *filename* /some/other/path/*filename*
答案 1 :(得分:0)
这样的事情应该有所帮助
#!/bin/sh
#Purpose: To find a given text in a file
if [ -z "$3" ]
then
echo Usage: $0 DirectoryToSearchIn testToSearch filePattern
exit 1
fi
find $1 -name '$3' | while read f
do
cat "$f" | grep "$3" && echo "[in $f]"
done
答案 2 :(得分:0)
使用find
和grep
,您可以在多个目录上执行此操作(之前不知道目录名称)
find /path/to/files -type f -name '*filename*' -exec grep -i word /dev/null {} \;
此示例查找包含 filename 的文件(但可以是任何内容)。我还添加了一个示例路径,但您可以使用.
来启动当前目录中的搜索。 -type f
返回文件(不是目录)。
或者你可以使用递归grep,如指出here。
grep -rnw 'directory' -e "*filename*"