我想查找包含特定字符串的特定目录中的所有文件。具体来说,我想查找回车(\ r),然后手动遍历文件并删除它的出现。我不希望PowerShell删除它们,因为在我的目录结构中可能有某些子目录需要它们。递归查找文件中的文本(PowerShell)
1
A
回答
1
你的问题似乎归结为:我想找到包含回车的目录中的所有文件。有没有任何理由为什么这些answers不够?
例如:
这应该给包含您的模式文件的位置:
Get-ChildItem -recurse | Select-String -pattern "dummy" | group path | select name
0
你可以使用Select-String
中寻找模式的一组文件中,但是这只会搜索每行文本中的模式。它不适用于你的情况,因为你想搜索行分隔符。
更简单的方法是使用Get-Content
,这将文件转换为字符串数组,每行一个项目。因此,任何具有返回和换行符的文件都将生成一个包含多个项目的数组。尝试是这样的:
Get-ChildItem -recurse | ? {(Get-Content $_.FullName).count -gt 1}
如果您的文件非常大,要加快步伐再加入-TotalCount
这样的:
Get-ChildItem -recurse | ? {(Get-Content $_.FullName -TotalCount 2).count -gt 1}
这只会寻找到符和换行符是在一起,如果你想要他们可以自己出现的实例,那么你将需要强制Get-Conent
不要将该文件作为一个字符串数组读取,而是将一个大字符串读取。这样的事情:
Get-ChildItem -recurse | ? {[regex]::Matches((Get-Content $_FullName -Raw), '[\r\n]+').Count -gt 0}
相关问题
- 1. 在jsTestDriver中递归地查找文件
- 2. 在PowerShell中递归重命名文件
- 3. 查找文件夹中的所有.php文件递归
- 4. PowerShell的:移动文件递归
- 5. Perl,递归查找并从文本文件中的列表中替换?
- 6. shell脚本:递归查找包含关键字的文件
- 7. 用Powershell递归文件系统
- 8. 递归查找文件夹名称(不是文件)
- 9. PowerShell逐个查找文件
- 10. Powershell脚本查找特定的文件/文件名?
- 11. 在Powershell中查找文件副本的脚本
- 12. PowerShell脚本来压缩多个文件夹内的文件递归
- 13. 使用Powershell使用查找文件递归地重命名目录
- 14. 在目录中查找最旧的文件(递归)
- 15. 寻找一个PowerShell脚本来递归比较两个文件夹
- 16. 递归文件复制期间powershell错误检查
- 17. Mongoid递归查找嵌入式文档
- 18. 在PowerShell中删除文件夹中的所有文件(非递归)
- 19. PowerShell脚本递归错误
- 20. 如何在Java中递归地查找文件?
- 21. 在Mac中使用递归查找大文件
- 22. 在powershell中查找文件的路径和产品版本
- 23. 如何使用PHP在文件夹中递归地查找文件?
- 24. 在PowerShell中查找没有某个文件的文件夹
- 25. 使用powershell查找文件名中编号最高的文件
- 26. 找到递归特定文件
- 27. Python递归搜索目录以查找文件的存在
- 28. 查找不包含文件的目录递归
- 29. 递归地查找具有特定扩展名的文件
- 30. AutoHotKey:使用循环递归查找文件的方法
我试图模式化“\ n”和 - 模式“\ r”但没有返回。出于某种原因 - 模式“\ t”返回的文件。 – user8056359