我正在尝试在 Windows 上使用朴素贝叶斯和 Node.js 重现一个简单的垃圾邮件过滤器,我获得了包含这些 Unix 命令的资源,但不知道如何在 PowerShell 上运行它:
sed -nr 's#^0 (.*)#training/\1#p' CSDMC2010_SPAM/CSDMC2010_SPAM/SPAMTrain.label | xargs Node spamfilter.js -s
sed -nr 's#^1 (.*)#training/\1#p' CSDMC2010_SPAM/CSDMC2010_SPAM/SPAMTrain.label | xargs Node spamfilter.js -h
SPAMTrain.label是一个包含训练文件名称和标签的文件(0表示垃圾邮件,1表示非垃圾邮件),经过一番搜索,我知道sed
命令用于替换文本和xargs
用于 bash。
所以我认为这些命令将找出哪些训练文件是垃圾邮件,哪些是非垃圾邮件。
-s
、-h
是我传递来运行 spamfilter.js 的参数
有什么方法可以在 PowerShell 上运行这两个命令,或者重写它以适应 PowerShell 命令行吗?
最佳答案
您可以使用select-string
在 Linux 中 sed
的 powershell 中
和 Invoke-Expression
对于xargs
关于node.js - PowerShell 与此 Unix 命令的等效命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58909143/