将几个txt文件提供给可执行文件以在unix中处理

时间:2013-10-04 01:57:32

标签: bash unix

我正在尝试为我的可执行文件提供一系列文本文件 我正在使用我的可执行文件对此进行测试,并进行简单的字数统计 这种类型的东西适用于一个文件:

while (cin << word){
  count++;
}

......并且在shell中......

prog.exe < quickbrownfox.txt

给我一​​个字数为9,因为它应该

  

快速的棕色狐狸跳过懒惰的日志

里面有9个字。

如何一个接一个地向我的程序提供几个文本文件?

喜欢:

prog.exe < qbf.txt abc.txt file 3.txt file4.txt...etc

3 个答案:

答案 0 :(得分:2)

检查cat命令以查看它是否符合您的要求。

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

答案 1 :(得分:0)

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

for file in qbf.txt abc.txt file 3.txt file4.txt
do
    echo "$file `prog.exe < $file`"
done

答案 2 :(得分:0)

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

cat filename.list
file1
file2
file3
...

cat filenames.list | xargs prog.exe

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