2014-03-13 68 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"