gcr -r -fi <filename-pattern>
替代
bash中的
find . -name '*.jar'
windows下的powershell中可以使用Get-ChildIItem进行替换,参数有所不同:
- -Recurse (简写是-r)递归遍历所有目录
- -Filter (简写-fi) 通过名字进行过滤, 支持 *, ?匹配,但是不是正则
上面的find命令,powershell下面的对应的表达式是
Get-ChildItem -Recurse -Filter '*.jar'
简写就是
gci -r -fi *.jar
正则方式
需要使用正则方式的话可以pipe 给Where-Object (简写就是 where)过滤器
如
gci -r |where Name -match '\.jar$'
其他的如果想要过滤太小的文件可以
gci -r |where Length -gt 3000
想要看一个小时内访问的文件
gci -r |where LastAccessTime -gt (Get-Date).AddHours(-1)
其他复杂的组合方式如
gcr -i | where {$_.Length -gt ( 3 * 1024 ) -or $_.LasterWriteTime -gt "04/23/2020" }
refers:
https://jessitron.com/2020/04/23/powershell-equivalent-of-find/