2011-11-26 92 views
2

我正在爲基本程序創建shell腳本。shell中的字符串搜索

一個選項是刪除一個用戶,但問題是如果我搜索屬於用戶名的字符串,程序會將其視爲用戶。

例如,如果我有用戶adminaaa,如果我搜索管理員,即使「admin」不是用戶,程序也會將其識別爲用戶。

的一塊,我使用的代碼如下:

existe=`cat meusutilizadores.txt|grep "$user" |wc -l` 
     if [ $existe = 1 ] 
     then 
      fullUser=`grep $user meusutilizadores.txt` 
      passUser=$(echo $fullUser|awk -F ':' '{ print $2 }') 

我需要的是能夠把它進行編程,以識別用戶爲他的整個字符串,而不是隻有它的一部分。

我希望我能夠充分表達自己的理解。 希望你能幫助我。

問候

+0

是什麼的記錄meusutilizadores.txt – Iain

回答

2

搜索只是整個學期:egrep "^${user}$"

如果$user包含正則表達式的特殊字符,如[]().*+

+0

格式這將無法正常工作非常感謝,用戶仍然接受特殊字符,我想我將不得不改變,因爲我真的需要這個功能來工作。再一次感謝你! – user1067017