用于在目录中搜索特定字符串的脚本

时间:2014-03-13 10:59:01

标签: bash shell

我是这个网站和shell脚本的新手。我仍然是一个非常新手,并且有很多成功的脚本,因为我正在尝试"我自己学习。我希望你们中的一个剧本大师可以让我走上正轨。在这种情况下:我是一名网络工程师,我经常需要在100个文件中找到特定的代码行。例如,我可能需要找出哪些设备正在运行特定代码。通常我会做的是以下内容,它完全符合我的需要。

fgrep -w"" * | sort -t / -k5 -n

我通常必须转到我的配置文件所在的目录,然后在引号之间弹出我要查找的内容以获取我的搜索结果。我想做的是编写一个脚本,询问我要搜索的内容,然后搜索我所在的目录,然后返回结果。任何帮助将不胜感激。

非常感谢, DIZ

2 个答案:

答案 0 :(得分:1)

将此添加到您的.bashrc文件或登录时加载的任何配置文件:

mygrep() { fgrep -w "$1" * | sort -t/ -k5 -n; }
export -f mygrep

这会设置一个您可以用来搜索的别名 - 如果您的搜索字符串中包含空格,请使用双引号:

$ mygrep SEARCH_PATTERN
$ mygrep "SEARCH WITH SPACES"

答案 1 :(得分:0)

您可以按照以下方式执行

#!/bin/bash
read -p "Enter string you want to search?" str

find . -type f -exec grep "${str}" {} \;