如何在 C shell 中逐行解析标准输出?
How can I parse stdout line by line in C shell?
如果我有一个打印到 stdoud 的脚本 (script.csh),例如:
echo "First line"
echo "Second line"
echo "Third line"
然后我尝试从另一个脚本解析该脚本的输出:
foreach line (`script.csh`)
echo $line
end
输出由空格而不是新行分隔:
First
line
Second
line
Third
line
我该如何解决才能一次读一行?而且我知道不推荐使用 C shell,但这是我老板希望我使用的。
您只需将脚本输出双引号:
#!/usr/bin/env csh
foreach line ("`script.csh`")
echo $line
end
结果将是:
$ ./parser.csh
First line
Second line
Third line
如果我有一个打印到 stdoud 的脚本 (script.csh),例如:
echo "First line"
echo "Second line"
echo "Third line"
然后我尝试从另一个脚本解析该脚本的输出:
foreach line (`script.csh`)
echo $line
end
输出由空格而不是新行分隔:
First
line
Second
line
Third
line
我该如何解决才能一次读一行?而且我知道不推荐使用 C shell,但这是我老板希望我使用的。
您只需将脚本输出双引号:
#!/usr/bin/env csh
foreach line ("`script.csh`")
echo $line
end
结果将是:
$ ./parser.csh
First line
Second line
Third line