2014-03-13 41 views
1

我对这个站点和shell脚本不熟悉。我仍然是一个新手,并没有很多成功的脚本,因为我“尝试”自己学习。我希望你们中的一位脚本大师可以让我走上正轨。情况如下:我是网络工程师,经常需要在100多个文件中找到特定的代码行。例如,我可能需要找出哪些设备正在运行特定的代码。通常情况下,我会做的是以下哪些事情完全符合我的需求。在目录内搜索特定字符串的脚本

fgrep -w“”* | sort -t/-k5 -n

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

非常感谢, DIZ

回答

0

可以按如下

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

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

添加到您的.bashrc文件,或任何配置文件被加载,当你登录做的:

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

这会设置一个别名,然后您可以使用它进行搜索 - 如果搜索字符串中包含空格,则使用双引号:

$ mygrep SEARCH_PATTERN 
$ mygrep "SEARCH WITH SPACES"