cmd - 使用 Windows findstr 列出不包含字符串的文件
问题描述
从 Windows CMD 我可以使用
findstr -m subroutine *.f90
列出所有后缀为 .f90 且包含“子程序”的文件。要列出所有不包含字符串的 .f90 文件,我可以执行类似的操作
dir /b *.f90 > files.txt
findstr -m subroutine *.f90 > files_with_string.txt
然后编写一个脚本来列出 files.txt 中未在 files_with_string.txt 中找到的行。有没有更优雅的方式?
解决方案
中有一个/v
选项findstr
,但这在这里无济于事。
使用循环处理每个文件for
,尝试查找字符串,如果找不到(||
),则回显文件名:
for %a in (*.f90) do @findstr "subroutine" "%a" >nul || echo %a
(以上是命令行语法。要在批处理文件中使用,请使用%%a
代替%a
(所有三个出现))
推荐阅读
- wordpress - Elementor 自定义媒体控件
- flutter - 我想知道为什么当child为null时Flutter Container中有一个LimitedBox,maxWidth == 0.0有什么意义?
- python - 初学者程序员试图在 python 中重复三遍
- google-cloud-platform - 当 MIG(托管实例组)和负载均衡器位于同一配置文件中时,Google 部署管理器会失败
- android - 无法让agora 工作。本地端给我黑屏,而远程端永远连接不上
- wordpress - 将 Wordpress 网站搜索结果与产品搜索结果合并在一页上
- angular - 具有可选列或行的角度表
- php - 如何在 UpdateRequest 自定义中实现唯一的 laravel 验证?
- powershell - 安装 Azure CLI 并在同一脚本中运行 az login 命令,无需重新启动电源外壳
- amazon-web-services - 如何授予 cloudwatch 日志权限以调用 lambda?