【发布时间】:2013-04-25 08:28:16
【问题描述】:
您好,我目前正在尝试在 Linux 中创建一个脚本文件,该文件将 o prgram 的输出作为输入,并对其进行扫描以找出某些单词出现了多少次。为了更清楚,我想扫描输出并将某些单词在该输出中存在多少次存储到变量中。我是 linux 中的脚本新手。我尝试将输出存储在一个文件中,然后逐行扫描它以找到单词,但出于某种原因,我用来解析它的循环永远不会结束。你能帮帮我吗?
./program > buffer.txt
while read LINE
do
echo $LINE | grep word1 #when i use grep command the loop never ends
done <a.txt
编辑:在 C 中,一个等效的程序是
char* word="word1"
while(/*parse all the lines at a text */)
{
fgetline("file_a",&buffer)
if(strcmp(buffer,word)==0)
strcpy(word1,"word") //continue the search with this
}
【问题讨论】:
-
您正在写入 buffer.txt 并从 a.txt 读取。对吗?
-
@dogbane 是的,这是我想出的最好的主意。但是这个脚本永远不会结束!它继续无穷大。如果我让它 echo $line 它工作正常
-
我看不出这个循环的意义。为什么不简单地使用
grep word1 a.txt而不是循环呢?有些东西你没有给我们看。 -
@dogbane 因为我想使用 if 语句来改变我想要在第一次出现后找到的单词。