- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以用任何其他语言来做到这一点,但是对于 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
只是接受了 line 的值; 但是如果我想这样做:
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)
end
如果文件的内容是
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"
关于bash - 手动迭代文件的一行 |狂欢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1456501/
这是一个 bash 脚本,它打印视频的帧率,它所采用的参数可能包含空格。这个参数也将在脚本内的命令中使用。 #!/bin/bash inputVid="$*" #checking if $inputV
OSX Snow Leopard 上的 Bash 脚本,我想删除一组文件后缀中的任何一个,但我的 googlefu 失败了。 给定 file="filename_1" file1=${file%_1}
您好,正在尝试按月和日对列表进行排序。弄不直。有什么指点吗? 列表示例: Jul 23 Drive :NTFS (Windows 31.6 GB/29.4 GiB) Details : Mounted
我正在写一个 bash 脚本 我的文件是这样的: file="${nodeID}_00000_19700101010${ts}_udp_filtered.pcap"。是否可以使用任何 5 位数字代替
我正在尝试通过 bash 代码将文件名传输到 eog。 这是我的代码:ls | grep“ sample ” | head -1 其中 sample 是所需文件的名称。 我无法弄清楚如何将输出通过管道
我是 bash 的新手,我正在尝试编写一个 bash 脚本来保存用户的输入(一些标签),以帮助这个用户我想允许仅根据我个人的预定义标签列表完成而不是关于常见的TAB文件补全(文件夹中的文件名)。 pr
我有一个看起来像这样的字符串/foo/bar/baz59_ 5stuff.thing 如果最后一个数字(示例中的 5)大于另一个变量,我想将其增加一个。 9 将增加到 10。请注意,最后一个数字也可以
我可以用任何其他语言来做到这一点,但是对于 Bash,我四处寻找,却找不到答案。 我需要在脚本中手动增加 $line。示例: for line in `cat file` do foo()
我正在尝试剪切一个字符串,直到它成为第一个指定的字符。在这种情况下,它是第一个拉丁字母。 我厌倦了这个。它有点管用,但有时会移动 1 个或多个字符。 f=$(echo $f | tail -c $((
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关闭 9 年前。 要求提供代码的问题必须表现出对所解决问题的最低限度的理解。包括尝试过的解决方案、为什么
我在名为 file.txt 的文件中有类似的内容 AA.201610.pancake.Paul AA.201610.hello.Robert A.201610.hello.Mark 现在,我只获得
我有这个脚本可以生成 8-16 之间的随机字符。我对如何从银行 [! @ # $ % ^ & * ( ) _ + ] 这个字符串中的任意位置? if [ $# -eq 0 ] then
我有以下 bash 脚本: 1 #!/bin/bash 2 query='query= SELECT * WHERE { ?s ?p ?o } LIMIT 5' 3 cmd="curl $
我正在尝试创建一个安装后 bash 脚本,我可以在全新安装 Ubuntu 时使用它。我想要的第一个功能是让脚本提示用户他们是否想更新他们的系统,如果他们选择是,则显示单词“正在加载”,后面跟着一个点循
我尝试使用 bash 脚本访问特定路径,但我的终端无法访问它。这是我非常简单的脚本: #!/bin/bash init() { cd $PATH ls -l } PATH="/Volu
以下命令通过递归搜索当前目录和所有子目录找到所有出现的“some string” grep -r -n 'some string' . 此命令递归搜索当前目录和所有子目录并返回 *.axvw 格式的
我想让我的一部分代码更有效率。我正在考虑让它分成多个进程并让它们一次执行 50/100 次,而不是一次。 例如(伪): for line in file; do foo; foo2; foo3; do
假设我有字符串“Memory Used: 19.54M”我如何从中提取 19.54?19.54 会经常变化,所以我需要将它存储在一个变量中,并与下一次迭代的值进行比较。 我想我需要 grep 和 re
我有一个简单的 bash 脚本如下 #!/bin/bash sleep 5000 当我尝试执行它时,出现了一个奇怪的错误 : No such file or directory 注意分号:。所有常见的
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我是一名优秀的程序员,十分优秀!