如何从命令的输出中选择一个随机元素?

Abd*_*red 3 command-line random

如果我有类似的东西:

echo 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

或者

echo man woman child
Run Code Online (Sandbox Code Playgroud)

我必须在管子后面放什么才能挑出1 2 3 4 5 6或 的一个元素man woman child

echo 1 2 3 4 5 6 | command
3
Run Code Online (Sandbox Code Playgroud)

ste*_*ver 15

如果你的系统有shuf命令

echo 1 2 3 4 5 | xargs shuf -n1 -e
Run Code Online (Sandbox Code Playgroud)

如果输入并不真的需要通过标准输入回显,那么最好使用

shuf -n1 -e 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

  • 或 `printf '%s\n' 1 2 3 4 5 | shuf -n1`(也就是说,您向“shuf”提供每行一个选项)。 (2认同)