2010-02-24 163 views
1

我正在編寫一個shell腳本來打開一個文件,並且需要找到一個像## FIND_ME ##這樣的標籤。我正在搜索的字符串是一個常量(並且只有一個實例)。Shell腳本,字符串搜索文件

一旦找到該字符串,我需要它從該點開始重新搜索不同的字符串。

我* nix的技能有點生疏,應該嘗試使用grep,awk或sed來實現這個嗎?

+0

什麼是你應該當你發現標籤要幹什麼?我自己會用一個快速的Perl腳本來完成它,但是我非常喜歡Perl黑客。 – crazyscot 2010-02-24 21:54:05

回答

3
awk '/FINDME/{f=1}f&&/NEWSEARCH/{print}' file 

f=0 
while read -r line 
do 
case "$line" in 
    *FINDME*) f=1;; 
esac 
if [ "$f" -eq 1 ] ;then 
    case "$line" in 
     *NEWSEARCH*) echo "found next tag in: $line";; 
    esac 
fi 
done <"file" 
+0

這正是我所尋找的,謝謝你的幫助。 – pws5068 2010-02-25 14:43:52