【问题标题】:List of 50 random numbers in cshcsh中的50个随机数列表
【发布时间】:2014-06-20 20:49:53
【问题描述】:

我想在 csh 中创建一个包含 50 个随机数的列表或数组。

这是我尝试过的:

@ i=0
set x
While ($i<50)
X[$i]= `perl -e 'srand; print int(rand(200)+1)'`
@ i++
end

但它不起作用

【问题讨论】:

  • 请包括,(在适当的问题中),你的证据“它不起作用”。它看起来非常接近工作。你有没有在顶部用#!/bin/csh -vx打开csh调试。然后你可以看到每一行,因为它将被执行,并且每一行都替换了所有变量值。 (请注意,长期编程 csh 会导致失明。请参阅 grymoire.com/Unix/Csh.html#uh-0 。最好将时间花在他们自己的 $RANDOM 变量的 shell(ksh 或 bash,其他人,我敢肯定)中。祝你好运。
  • 虽然 IMO t/csh 是一个很棒的交互式 shell,但它被认为非常 bad for scripting 并且强烈反对。考虑使用另一种语言。

标签: shell unix csh tcsh


【解决方案1】:

这个呢?

repeat 50 perl -e 'print int(rand() * 200) . "\n";'

【讨论】:

    【解决方案2】:

    使用 awk(假设您想要 50 个 0 到 200 之间的随机整数):

    echo 1 | awk '{for(i=1;i<=50;i++) print int(201*rand())}'
    

    或者更简单:

    repeat 50 echo 1 | awk '{print int(201*rand())}'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2020-02-13
      • 2013-03-08
      • 2018-11-06
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多