Bash 将多个txt文件馈送到可执行文件以在unix中处理

Bash 将多个txt文件馈送到可执行文件以在unix中处理,bash,unix,Bash,Unix,我正在尝试向我的可执行文件提供一系列文本文件。 我正在用我的可执行文件进行简单的字数计算来测试这一点。 对于一个文件,这种类型的东西可以很好地工作: while (cin << word){ count++; } while(cin检查命令以查看它是否符合您的要求 cat qbf.txt abc.txt file3.txt file4.txt | prog.exe 如果要获取单个文件中的文件名和/或字数,应使用循环。例如: for file in qbf.txt abc.tx

我正在尝试向我的可执行文件提供一系列文本文件。
我正在用我的可执行文件进行简单的字数计算来测试这一点。
对于一个文件,这种类型的东西可以很好地工作:

while (cin << word){
  count++;
}
while(cin检查命令以查看它是否符合您的要求

cat qbf.txt abc.txt file3.txt file4.txt | prog.exe

如果要获取单个文件中的文件名和/或字数,应使用循环。例如:

for file in qbf.txt abc.txt file 3.txt file4.txt
do
    echo "$file `prog.exe < $file`"
done
qbf.txt abc.txt文件3.txt文件4.txt中的文件的

做
echo“$file`prog.exe<$file`”
完成

将文件名写入文件,然后运行以下命令

cat filename.list
file1
file2
file3
...

cat filenames.list | xargs prog.exe

上面的命令将使用从stdout导出的每个参数执行您的程序。如果列表包含多行,xargs将避免参数数量限制。

您想要它们的总字数,还是每个文件的字数?如果cat命令的第一个管道输出是:
cat qbf.txt abc.txt file3.txt file4.txt | prog.exe
顺便说一句,在unix中,您有
prog.exe
?您可以编写程序依次打开参数列表中的每个文件,如果参数列表中没有文件,则默认为读取标准输入。这是一种由来已久的工作方式(想想像
grep
sed
wc
等工具)。这也不是很难。为什么不使用
wc-w
来计算文件中的单词数呢?根据文件夹中的文件名,OP也可以使用
*.txt
。。@JL这是一个将多个文件输入程序的简化示例…计数仅用于测试。
for file in qbf.txt abc.txt file 3.txt file4.txt
do
    echo "$file `prog.exe < $file`"
done
cat filename.list
file1
file2
file3
...

cat filenames.list | xargs prog.exe