我使用 Linux 命令查找根文件夹内具有 .txt 和 .cmd 扩展名的所有文件,不包括位于名为“Sub Processes”和“SubProcesses”的子目录中的文件。我当前使用的命令是:
find . \( -name '*.txt' -o -name '*.cmd' \) ! \( -path '*/Sub Processes/*' -o -path '*/SubProcesses/*' \)
现在,我想改进此命令,以便仅包含字符串“starter”的 .txt 文件显示在输出中,同时仍包含所有 .cmd 文件。
我尝试在网上和通过人工智能引擎寻找解决方案,但没有成功。有没有办法将 -exec grep 'starter' 命令仅应用于 .txt 文件,确保它们是输出中唯一检查此字符串的文件?
注意:我不想在执行命令时打开新的 Bash 或 Shell 解释器。
您可以将第一个
-name
扩展到类似
\( -name '*starter*.txt' -o -name '*.cmd' \)
仅匹配包含
starter
并以 .txt
结尾的文件。