需要在Windows下做一些简单的文件操作,CMD显然已经过时了,开始试着用PowerShell。
如果是在Linux下面通常就是 find 之后 pipe 到 cat 完事。PowerShell的语法稍微复杂了点儿,不过也还是可以接受的:
```
Get-ChildItem -path . -recurse |
?{ $_.name.contains(".markdown") } |
%{ Out-File -filepath ./cat-all.txt -Encoding UTF8 `
-inputobject (Get-Content $_.fullname -Encoding UTF8) -Append }
```
『补充于2018年6月底』后来发现,`Get-Content` 的别名是 `cat`;还有一个与之对应的 `Set-Content` 别名是 `sc`,因此如果文件结构简单的情况下,可以把上面的命令简化为:
```
cat -Encoding UTF8 *.markdown | sc -Encoding UTF8 cat-all.txt
```
另外如果需要执行类似于 `grep` 命令,例如,在 markdown 文件内使用正则表达式 `^## ` 查找二级 head :
sls ^## .\cat-all.txt -ca
评论