从搜索结果中忽略文件夹及其文件



我有一个特殊的要求,我必须使用单独的命令从Linux中的搜索结果中筛选出所有文件夹及其文件

示例:我有以下文件夹,它们都有一个名为test的文件

/testfolder/f1
/testfolder/f1_0VT0_hc1
/testfolder/f1_0VT0_hc2

例如,如果我运行ls testfolder/*,初始结果将是:

/testfolder/f1:
test
/testfolder/f1_0VT0_hc1:
test
/testfolder/f1_0VT0_hc2:
test

我需要导入另一个命令(例如grep),该命令将接收该结果并过滤掉所有具有_0VT0_及其文件的目录!

我可以忽略目录使用:

ls testfolder/* | grep -R --exclude-from='.*_0VT0_.*'

但我还是拿到了文件!

问题:如何修改grep命令,或者应该使用什么命令来忽略文件夹和其中的文件!

澄清我将收到一个lsfind命令,我需要另一个命令在它们之后执行,该命令将过滤掉这些文件夹及其文件。所以我可以在批处理文件中管道或执行某些操作。

-prune选项用于find

find * -name '*_0VT0_*' -prune -o -print

您可以将其作为另一个具有普通命令替换的命令的一部分:

ls -d $(find * -name '*_0VT0_*' -prune -o -print)

最新更新