我正在尝试编写一些在外部运行grep的代码,然后分析输出。具体来说,我想做

grep <username> *.test

但是,可悲的是
readProcess "grep" [username, "*.test"]

似乎会在参数周围产生双引号的命令
grep "<username>" "*.test"

并且由于没有单独的文件称为星号点测试grep barfs。有些文件带有.test扩展名。

我可以说服readProcess(或类似的东西)发出我想要的命令吗?

最佳答案

“*”不是通过grep扩展的,而是通过shell扩展的。如果要扩展,应该运行类似于sh -c 'grep username *.test的程序。

更好的方法是将createProcessShellCommand参数一起使用。

关于haskell - 我可以使readProcess删除引号吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19704206/

10-10 17:48
查看更多