2017-08-29 108 views
1

我试图使用ls命令列出目录中的特定子目录。特定名称约定的ls命令

子目录有以下命名约定:

abc.wiki.git 
abc.git 
cde.wiki.git 
cde.git 
fgh.wiki.git 
fgh.git 

我只想列出没有名称中“维基”的子目录。

+3

的[列表文件不匹配模式?(https://stackoverflow.com/questions/8525437/list-files-not-matching-a-pattern)可能的复制 – bishop

回答

0

如果你想看到在上述子文件夹都可以使用:

ls | grep -v wiki | xargs ls 

如果你不希望看到每个子目录里面只是用:

ls | grep -v wiki 
+0

为什么'| xargs ls'? – axiac

+0

@axiac我以为他想看看每个git文件夹里面没有wiki名称? –

+1

将结果传递给'xargs ls'的一个很好的理由是用标志调用'ls'。例如,第一个'ls'只列出文件和目录名,第二个'ls'可以用'-a'调用。 – axiac

1

我认为这个用例,find更聪明。

$ find . -type d -not -name "*wiki*"