【问题标题】:ksh loop putting results of file into variableksh循环将文件结果放入变量
【发布时间】:2013-10-14 17:34:04
【问题描述】:

我不确定处理这个问题的最佳方法,我猜它正在使用 while 循环。我有一个带有一组数字的 .txt 文件(这些数字可以根据另一个运行的脚本而改变) 例如:

0
36
41
53
60

每个数字都在它自己的行上。对于每个数字,我想获取该数字并使用它执行脚本。所以在这个例子中,我会调用一个脚本来停止数据库 0,然后调用一个脚本来停止数据库 36,依此类推,直到它完成了列表中的所有数字。

1) while 循环是处理此问题的最佳方法吗? 2) 我无法确定 [[condition]] 需要什么才能一次获得每个数字 1,我在哪里可以找到一些额外的帮助?

    while [[ condition ]] ; do
    command1 
    done

出于测试目的,包含所有数字的文件是 test.txt。将执行的脚本是一个 python 脚本 - “amgr.py stop (number from test.txt)”

【问题讨论】:

  • 同时读取 -r 行; do echo "$line" done
  • 是的,您已经回答了自己的问题。您可以将其发布为答案,然后在 X 小时后接受它以获得声誉积分(如果您关心的话)。祝你好运。

标签: while-loop ksh


【解决方案1】:

这里有一个更简单的方法:

cat test.txt | xargs amgr.py stop

这将获取文件的每一行,然后将其作为amgr.py 的额外参数:

amgr.py stop 0
amgr.py stop 36
and so on..

【讨论】:

    【解决方案2】:

    我最终使用这种方法给了我想要的结果。

    while read -r line ; do
    amgr.py stop $line
    done<test.txt
    

    【讨论】:

      猜你喜欢
      • 2016-01-07
      • 2018-05-14
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多