2014-09-25 135 views
0

在我的bash腳本中,我想從變量中刪除兩個項目。具體來說,在OS X上,我列出了/ Users目錄的內容,並且希望該變量不包含「.localized」或「Shared」。這裏是代碼...從變量中刪除特定項目...?

# List the system users and load them into a variable 
systemUsers=`ls /Users/` 

此變量將列出所有用戶主目錄。我如何確保變量不會包含上述兩個項目?

回答

0

嗯,你有沒有嘗試systemUsers=$(ls /Users/ | grep -v .localize | grep -v Shared)

+0

這是票!早先建議的使用「shopt」的解決方案基本上可行,但提供了完整的路徑。我想要的只是用戶主目錄名稱,並且此解決方案提供了這個名稱。謝謝! – 2014-09-25 17:31:34

+0

不客氣:-)您可以在終端中輸入'man grep'來找到其他選項。 – 2014-09-26 02:03:21

0

您可以使用此extglob

shopt -s extglob 
echo /Users/!(Shared|.localized) 

要保存結果的數組:

arr=(/Users/!(Shared|.localized))