2010-02-03 76 views
0

我在Mac上使用终端使用以下命令:使用grep在Mac终端

df -lak | grep File||disk02 

我想使用这个脚本来获取df命令的报头(磁盘空间),只有磁盘disk02行什么。我认为'|'是grep中的一个字符或逻辑。但是,由于我在终端中使用grep,char'|'也意味着管道。所以我试图用'||'以避免管道,但它没有得到我想要的。只有带有“文件”的标题返回。

不知道如何在终端中使用此脚本命令?

回答

1

用awk

df -lak | awk 'NR==1 || /disk02/' 

或者

df -lak | grep -E "File|disk02" 
+0

我也可以在我的情况下使用awk'NR <3'(前两行是我想要的)。 awk对我来说是新的。谢谢! – 2010-02-03 05:51:37

+0

或awk'/ File/||/disk02 /'作为我在这篇文章中的问题。 – 2010-02-03 05:53:07

+0

要小心其中有“文件”的其他行。是的,awk比grep更通用(它可以做grep和更多)。所以它值得学习它。 – ghostdog74 2010-02-03 06:00:05

2
df -lak | grep "File\|disk02" 
1
df -lak | grep -E '(^File|disk02)' 

可以缩短grep -Eegrep

1
df -lak | grep -e File -e disk02 
0

只显示您感兴趣的安装点!

df -lak/