我经常想将相对较短的字符串数据(尽管可能是几行)馈送到命令行程序,这些程序仅以重复的方式接受来自文件(例如wdiff)的输入。当然,我可以创建一个或多个临时文件,将字符串保存在那里,然后以文件名作为参数运行命令。但是在我看来,如果将数据实际写入磁盘,此过程似乎效率很低,而且如果我多次重复此过程(例如,如果我要馈送一行长文本),则对磁盘的损害可能超过必要。文件到wdiff。有没有建议的方法来避免这种情况,例如使用伪文件(例如管道)来临时存储数据,而无需实际将其写入磁盘(或仅在超过临界长度时才将其写入)。请注意,wdiff具有两个参数,并且,wdiff <"text"
。
xargs
将从命令的文件字符串参数中输入行。但我需要相反。
echo $data_are_here | dumb_program
?
xargs
吗?