2014-09-25 108 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))