![](/img/trans.png)
[英]Export result from FIND command to variable value in linux shell script?
[英]linux find command: exclude path from result
我使用find命令在一個文件夾中查找所有python文件,並排除一些文件夾。
find . -type d \\( -path ./venv -o -path ./virtualenv -o -path ./lib \\) -prune -o -iname '*.py'
它給出以下輸出:
...
./tests/test_a.py
./venv
如何調整find
命令在結果集中排除./venv?
如果不指定任何操作,則find
將對與表達式匹配的任何文件隱式使用-print
。 -prune
總是評估為true(除了防止進一步遞歸),這就是為什么./venv
仍然最終被打印的原因。
為避免這種情況,只需在其他分支上添加-print
即可:
find . -type d \( -path ./venv -o -path ./virtualenv -o -path ./lib \) -prune \
-o -iname '*.py' -print
現在有一個動作,因此find
不再打印會被評估為true的所有內容,而是僅打印您明確查找的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.