我们有以下 unix 命令:
/usr/bin/tail -n 1 %{path} | grep --silent -F "%{message}" && rm -f %{path}%
This:
/usr/bin/tail -n 1 %{path}
获取文件中的最后一行path
变量指的是
| grep --silent -F "%{message}"
将输出传输到另一个命令,grep
,它检查前一个命令的输出是否等于message
-
&& rm -f %{path}%
如果值相等,则删除引用的文件path
上面的行位于配置文件中,允许对底层操作系统进行调用。
我想在 Windows 上复制该功能。
我试过这个:
command => 'powershell -Command "& {Get-Item $args[0] | ? { (Get-Content $_ -Tail 1).Contains($args[1]) }| Remove-Item -Force}" "'%path%'" "'%message%'"'
抛出此错误:
Error: Expected one of #, {, } at line 15, column 131 (byte 498)
第 15 行是配置文件中包含上述内容的行。
Thanks
PowerShell解决方案:
$path = 'C:\path\to\your.txt'
$message = 'message'
Get-Item $path | ? { (Get-Content $_ -Tail 1).Contains($message) } | Remove-Item -Force
如果您想从命令行运行它,请像这样调用它:
powershell -Command "& {Get-Item $args[0] | ? { (Get-Content $_ -Tail 1).Contains($args[1]) } | Remove-Item -Force}" "'C:\path\to\your.txt'" "'message'"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)