bash 循环中按设定量递增

2024-01-06

我知道如何在 bash 中执行每次增加 1 的循环,但假设我的范围是 1 到 773,并且我想从循环中输出一个范围,以便在每次迭代中获得两个变量。第一个为 1,第二个为 19。在第二次迭代中,第一个为 20,第二个为 39。

我一直在玩类似的东西:

for start in {1..773}
do    
start=$(($start+20))
end=$(($start+20))
echo $start ## 
echo $end
done

期望的循环结果:

 1. $start = 1 and $end = 19
 2. $start = 20 and $end = 39
 3. $start = 40 and $end = 59 
etc

但这是不对的。我想将这两个变量输出到一系列脚本以使 R 运行得更快,因此如果非 bash(例如 awk)解决方案更容易,那么如果简单的 > 将向其发送文件,那也很酷。

Thanks!


您的要求并不完全清楚,但您正在重复使用变量名称。

如果我这样做:

for index in {1..773}
do    
  start=$(($index+20))
  end=$(($start+20))
  echo $start ## 
  echo $end
done

我得到的结果与您想要的结果类似。观察我如何将循环变量从开始重命名为索引。

PS:如果你想改变循环中的步长(又名“增量”),只需这样做:

#!/bin/bash
for i in {0..10..2}
  do
     echo "Welcome $i times"
done

这将以 2 为步长递增,您可能希望在此处使用 20。那会给你1, 21, 41, ...作为价值。看http://www.cyberciti.biz/faq/bash-for-loop/ http://www.cyberciti.biz/faq/bash-for-loop/更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bash 循环中按设定量递增 的相关文章

  • Bash 中的动态变量名称

    我对 bash 脚本感到困惑 我有以下代码 function grep search magic way to define magic variable 1 ls tail 1 echo magic variable 1 我希望能够创建一
  • 如何检查主机是否在您的known_host ssh中

    我的脚本中使用以下命令 将主机添加到 ssh 中的已知主机 VAR2 expect c spawn ssh o StrictHostKeyChecking no REMOTE HOST USER REMOTE HOST IP expect
  • Bash 中单行 while 循环的语法

    我无法找到分号和 或大括号的正确组合 我想这样做 但作为命令行中的一句 while 1 do foo sleep 2 done while true do foo sleep 2 done 顺便说一句 如果您在命令提示符下将其输入为多行 如
  • 如何wget目录中最新的文件

    我想编写一个 bash 脚本来下载并安装最新的每日构建程序 RStudio 是否有可能使wget仅下载目录中最新的文件http www rstudio org download daily desktop http www rstudio
  • 使用awk将列中的值替换为txt文件中的另一个值

    我是 Linux 和 awk 脚本编写的新手 我有 tab delim txt 文件 如下所示 AAA 134 145 Sat 150 167 AAA 156 167 Sat 150 167 AAA 175 187 Sat 150 167
  • 为什么这个脚本不改变目录

    好吧 简单的 bash 脚本问题 别笑 我的脚本只是更改目录 echo on echo running script CURRENT DIR cd pwd 我可以看到它在 echo 中更改目录 但是当它完成时 我的终端仍然位于同一目录 有小
  • 在同一变量集行中组合多个 bash 参数替换,而不使用任何其他命令[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想要组合的示例 sVar whoami sVar sVar sVar sVar 1 Output 用户名第一个字符大写 要求 单线
  • 文件头中 shebang 的用法:是否有任何选项可以在 shebang 中传递多个参数

    我使用不同的命名空间来执行 python 文件 使用 shebang hashbang 来执行此脚本 bin bash c 面临的问题是 shebang 只接受一个参数 即使我传递多个参数 它也会将其视为单个字符串 舍邦使用 sbin ip
  • Linux Bash - 日期格式

    我的日期格式是 yyyy mm dd hh mm ss 如何检查我的输入 它应该是这样的 bin bash read p Date format yy mm dd HH MM SS input check date Y m d H M S
  • sed:替换文本块

    我有一堆文件 从一段代码开始 我试图用另一个代码块替换 Replace
  • Bash:使用参数扩展查找和替换

    我想更换输入法 find string include 圆进度 38px 30px 4eb630 和输出 输出字符串 include 圆进度 38px 30px using find string pattern replacement s
  • 如何防止 Conda 默认激活基础环境?

    我最近在我的 Mac 上安装了 anaconda2 默认情况下 Conda 配置为在我打开新的终端会话时激活基本环境 我想要访问 Conda 命令 即我想要将 Conda 的路径添加到我的 PATHConda 在初始化时会执行此操作 所以没
  • 移动除一个文件之外的所有文件

    如何移动除一个文件之外的所有文件 我正在寻找类似的东西 mv Linux Old Tux png Linux New 我将旧的东西移动到新的东西文件夹中 除了Tux png 符号代表否定 有一些工具可以完成这项工作吗 如果您使用 bash
  • 安装heroku toolbelt后出现Ruby错误

    我正在 win 7 32 位系统上使用 Heroku 但我没有管理员权限 我已经下载并安装了heroku工具带如下http community webfaction com questions 11803 heroku toolbelt h
  • awk 在Linux终端中输出类似表格或类似Excel的列?

    我做了一个长管子 最后是 awk print 5 t t 3 t 4 在 Linux 终端中 这些列用选项卡填充 第一列条目具有不同数量的字符 因此第二列结果并不完全垂直 怎样才能让桌子看起来更完美呢 尝试将结果通过管道传输到列 t awk
  • 如何在每个 xargs 命令之间休眠 1 秒?

    例如 如果我执行 ps aux awk print 1 xargs I echo 我想让 shell 在每次之间休眠 1 秒echo 如何更改我的 shell 命令 您可以使用以下语法 ps aux awk print 1 xargs I
  • 如何在 shell 中解码 URL 编码的字符串?

    我有一个文件 其中包含已编码的用户代理列表 例如 Mozilla 2F5 0 20 28Macintosh 3B 20U 3B 20Intel 20Mac 20OS 20X 2010 6 3B 20en 我想要一个 shell 脚本 它可以
  • Bash IF:多个条件

    我已经尝试让这件事工作几个小时 但我无法让它工作 if P SFTP a PORT 22 P FTPS PORT 990 a PORT 21 then 有人能帮我吗 我知道多个条件可以这样写 if P SFTP PORT 22 then 但
  • 使用sed插入文件内容

    我试图在给定模式之前插入文件内容 这是我的代码 sed i pattern i r scriptPath adapters default permissions xml manifestFile 它添加路径而不是文件的内容 有任何想法吗
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip

随机推荐