Unix:在位于不同路径的文件中搜索单词

我的要求是搜索日志并找到一些特定的条目。 日志文件位于两条不同的路径。 我想在两者中进行搜索。

通常我登录到服务器,转到路径并执行grep -i word * filename *

我想准备一个脚本,它将接受用户输入的单词和文件名并进行搜索。


您可以根据需要搜索尽可能多的路径:

grep -i "word" *filename* /some/other/path/*filename*

像这样的东西应该有所帮助

#!/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

使用findgrep你可以在多个目录中执行它(不知道目录名称)

find /path/to/files -type f -name '*filename*' -exec grep -i word /dev/null {} ;

这个例子找到包含文件名的文件(但可以是任何东西)。 我还添加了一个示例路径,但可以使用. 以便在当前目录中开始搜索。 -type f返回文件(不是目录)。

或者你可以使用递归grep,正如这里指出的那样。

grep -rnw 'directory' -e "*filename*"
链接地址: http://www.djcxy.com/p/13679.html

上一篇: Unix: Searching for a word in files situated at different paths

下一篇: How to find all files containing a string?