我有一个包含大量类似文件的大型目录。我必须发送一些随机文件进行审核。这些文件不应位于顶部或底部(例如,不在head
或中tail
)。这是我正在努力的子流程。
我想要获取任意数量的文件。可能是 10 个、2 个或 3 个,但不应按任何顺序排列。
例如从此文件列表:
10 1121231243 12 3124234ewdf 31243345 xaa 112 1121231243214 3 3124234ewdffd 3124334532 xab 1121 112123124321442334 3124 31243 3124334532324 xac 112123 1121ewszf 3124234 312433 file1
我想获得像本例这样的随机子集:
1121 112123124321442334 3124 1121ewszf
答案1
使用随机sort
(-R
或--random-sort
)然后head
或tail
:
ls | sort -R | head -10
答案2
您可以使用sort -R
随机对列表进行排序,然后使用$RANDOM
变量来head
获取随机数的结果:
ls | sort -R | head -n $(( $RANDOM % 10 + 1 ))
您将获得 10 个或更少的结果(绝不会是零)