【问题标题】:using "shuf" to randomly output lines in a range使用“shuf”随机输出一个范围内的行
【发布时间】:2015-02-26 03:48:10
【问题描述】:

我正在编写一个 bash 脚本来从文件中随机生成密码。我需要从该文件中读取/输出 3-5 行,以便我可以使用这些行来生成密码。发现 shuf 非常适合完成任务。它有一个选项-n,所以命令最多输出#行

例如

shuf -n 5 filename

随机输出5行。

任何人都知道如何使用 shuf 不仅输出 5 行,而且输出 3 到 5 行吗?谢谢!

【问题讨论】:

    标签: bash


    【解决方案1】:

    试试这个生成一个从 0 到 2 的随机数并加 3:

    shuf -n $(($RANDOM % 3 + 3)) filename
    

    【讨论】:

      【解决方案2】:

      我会使用pwgen。像这样:

      pwgen -S 12 1
      

      这将生成一个 12 列的“安全”密码。 pwgen 还有许多其他选项。检查手册页。

      【讨论】:

      • 这需要额外的包吗?我的 konsloe 没有给我 pwgen 的手动输入
      • 是的,您需要安装pwgen。在 Debian/Ubuntu 上:sudo apt-get install pwgen 在 Centos/RedHatEL/Fedora sudo yum install pwgen 上(当然其他发行版也可以,但是我不知道这些命令)
      • 我不想使用额外的包..但感谢您的帮助!!
      • 为什么要重新发明轮子?我敢打赌,您的解决方案没有pwgen 的一半安全。多年来一直对其进行评估。
      • 这是学校作业,我想我的教授不会希望我使用需要额外包装的东西...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2013-08-16
      • 1970-01-01
      • 2018-04-08
      • 2021-04-05
      • 2011-12-16
      相关资源
      最近更新 更多