如何在 Makefile 中使用匿名 fifo?
How to use an anonymous fifo in a Makefile?
是否可以在 Makefile 中使用匿名 fifo?
我试过以下方法:
%.html: %.txt
pandoc -o $@ <(sed 's%•%*%' $<)
但是我从 /bin/sh
得到语法错误。
- 如何在 Makefile 中使用匿名 fifo?
- 对于 pandoc 使用简单的正则表达式(甚至简单的查找和替换)过滤器是否有更好的解决方案?
这个make
使用/bin/sh
执行命令,/bin/sh
不理解<(...)
进程替换语法
幸运的是,pandoc
在其命令行中不需要文件名。如果未指定文件名,则 pandoc
从其标准输入流中读取,因此您应该能够通过普通管道将 sed
命令的输出提供给它,如下所示:
sed 's%•%*%' "$<" | pandoc -o "$@"
是否可以在 Makefile 中使用匿名 fifo?
我试过以下方法:
%.html: %.txt
pandoc -o $@ <(sed 's%•%*%' $<)
但是我从 /bin/sh
得到语法错误。
- 如何在 Makefile 中使用匿名 fifo?
- 对于 pandoc 使用简单的正则表达式(甚至简单的查找和替换)过滤器是否有更好的解决方案?
这个make
使用/bin/sh
执行命令,/bin/sh
不理解<(...)
进程替换语法
幸运的是,pandoc
在其命令行中不需要文件名。如果未指定文件名,则 pandoc
从其标准输入流中读取,因此您应该能够通过普通管道将 sed
命令的输出提供给它,如下所示:
sed 's%•%*%' "$<" | pandoc -o "$@"