我可以从文件中取一半输入并从终端休息

时间:2013-03-28 11:51:07

标签: bash user-input file-io

我有一个可执行文件(语法),当运行时从终端获取输入(事实)并结束我按Ctrl + D(EOF)。之后程序开始再次输入另一个输入(查询)以结束我按Ctrl + D. 所以我想做的是从文件和终端查询输入事实。 我试过了

./grammer < facts.pl #this assumes that all the input is from file so program terminates after inputting only facts
cat facts.pl queries.pl | ./grammer #this merges both file and removes the EOF in between files 

我可以顺序输入多个文件,即在结束时首先执行eof,然后从file2开始输入?

我可以在实际文件结束前以某种方式输入EOF吗?

1 个答案:

答案 0 :(得分:1)

catconcatenate的缩写,因此两个输入文件之间的区别当然会丢失。如果./grammer无法通过将文件名作为参数

来读取文件目录
./grammer facts.pl queries.pl

您需要为每个文件单独调用./grammer

for f in facts.pl queries.pl; do
    ./grammer < "$f"
done