使用管道运行C程序,如何在终端中输入字符串



这个问题来自《编程珍珠》第2版,第2栏,第20页。这是一个简单的 C 程序,它使用 sign.c 和 squash.c 文件对字谜进行排序和压缩(在单独的行上显示每组字谜)。

要测试程序,我必须在终端中运行以下行:

sign <dictionary | sort | squash > gramlist

我想输入一个小的单词/字谜列表,而不是使用文件/字典,看看程序是否适当地排序和挤压字谜。

例如,输入以下单词作为输入

mile lime rot tor break

应该给我以下输出:

break
lime mile
rot tor

我的问题:输入这些单词作为输入的语法是什么?这些都不起作用:

sign <"mile, lime, rot, tor, break" | sort | squash > output.txt
sign <"mile lime rot tor break" | sort | squash > output.txt
sign <'mile lime rot tor break' | sort | squash > output.txt
sign <'mile, lime, rot, tor, break' | sort | squash > output.txt
sign <mile, lime, rot, tor, break | sort | squash > output.txt
sign <mile lime rot tor break | sort | squash > output.txt

sign.c 和 squash.c 的完整代码在这里

所以

你知道,你用<编写的任何内容都会将文件重定向到你的程序中。由于您想直接输入字符串,因此您需要其他内容。尝试:

sign <<< "mile lime rot tor break" | sort | squash > output.txt

或:

echo "mile lime rot tor break" | sign | sort | squash > output.txt

相关内容

  • 没有找到相关文章

最新更新