欢迎光临
我们一直在努力

手动迭代文件的一行|庆典

本站教程收集整理的这篇文章主要介绍了手动迭代文件的一行|庆典,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

我可以用任何其他语言做到这一点,但是对于
Bash,我看起来远远不够,无法找到答案.

我需要在脚本中手动增加$line.例:

for line in `cat file`
do
foo()
       foo_loop(condition)
{
 do_something_to_line($linE) 
}
done

如果你注意到,每次foo_loop迭代时,$line保持不变.我需要在那里迭代$line,并确保原始for循环只运行文件中的行数.

我已经考虑过使用不同的循环查找文件中的行数并在foo()的内部循环内迭代行变量.

有任何想法吗?

编辑:

很抱歉这么模糊.

开始了:

我试图让我的代码的一部分执行多次(并行执行)

Function foo() # Does something
for line in `cat $temp_file`;
foo($linE)

该代码工作得很好,因为foo只是接受了行的值;但如果我想这样做:

Function foo() # Does something
for line in `cat $temp_file`;
while (some condition)
foo($linE)
end

$line将在整个while循环中等于相同的值.我需要用while循环进行更改,然后在返回for时继续.例:

line = Hi
foo{ echo "$line" }; 
for line in `cat file`;
while ( number_of_processes_running -lt max_number_allowed)
foo($linE)
endvps云服务器

如果文件的内容是

Hi \n Bye \n Yellow \n Green \n

示例程序的输出将是(如果允许的最大数量为3)

Hi Hi Hi Bye Bye Bye Yellow Yellow Yellow Green Green Green.

我希望它在哪里

Hi Bye Yellow Green

我希望这更好.我正在尽力解释我的问题.

而不是使用for循环来读取文件,你应该像这样读取文件.

#!bin/bash

while read line
do
    do_something_to_line($linE)
done < "your.file"

本站总结

以上是本站教程为你收集整理的手动迭代文件的一行|庆典全部内容,希望文章能够帮你解决手动迭代文件的一行|庆典所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。