当前位置: 首页 > 面试题库 >

如何使用Red Hat Linux上的标准工具将文件中的行随机化?

谭裕
2023-03-14
问题内容

如何使用Red Hat Linux上的标准工具将文件中的行随机化?

我没有shuf命令,所以我要寻找的东西像一个perlawk一个班轮是完成相同的任务。


问题答案:

而您可以获得Perl一线服务!

perl -MList::Util -e 'print List::Util::shuffle <>'

它使用一个模块,但是该模块是Perl代码分发的一部分。如果那还不够好,您可以考虑自己动手做。

我尝试将其与-i标志(“就地编辑”)一起使用,以使其编辑文件。该文档表明它应该可以,但是不能。它仍然将改组后的文件显示到stdout,但这一次它删除了原始文件。我建议您不要使用它。

考虑一个shell脚本:

#!/bin/sh

if [[ $# -eq 0 ]]
then
  echo "Usage: $0 [file ...]"
  exit 1
fi

for i in "$@"
do
  perl -MList::Util -e 'print List::Util::shuffle <>' $i > $i.new
  if [[ `wc -c $i` -eq `wc -c $i.new` ]]
  then
    mv $i.new $i
  else
    echo "Error for file $i!"
  fi
done

未经测试,但有望奏效。



 类似资料:
  • 问题内容: 我想执行一个命令,让该命令的输出即时得到gzip’d,并且回显/准备该命令的输出。 即,类似: 除了执行该行时,我希望在标准输出中看到此内容: 问题答案: 正如评论中指出的那样,在某些情况下可能会更好。

  • 说明 RandomUtil主要针对JDK中Random对象做封装,严格来说,Java产生的随机数都是伪随机数,因此Hutool封装后产生的随机结果也是伪随机结果。不过这种随机结果对于大多数情况已经够用。 使用 RandomUtil.randomInt 获得指定范围内的随机数 RandomUtil.randomBytes 随机bytes RandomUtil.randomEle 随机获得列表中的元素

  • 问题内容: 我在多个子文件夹的.txt文件中有很多任务。我试图从这些文件夹,它们包含的文件以及文件中的最后一行中随机选择总共10个任务。所选行应删除或标记,以便在下一次执行中不会被选中。这可能是一个过于广泛的问题,但我希望您能提出任何建议或指导。 这是我到目前为止的代码: 问题答案: 为了在所有这些文件上获得适当的随机分布,您需要将它们视为一大行,并随机选择10条。换句话说,您必须至少读取一次所有

  • 我使用的是leanback库,它需要Android17或更高版本。但是我的应用程序支持16的minSDK,所以我从gradle那里得到了一个构建错误 当我查看构建工具文档时,我看到了如何将标记添加到清单中,但问题是我在gradle文件中而不是在清单中声明了minSdk。 在build.gradle而不是AndroidManifest.xml中声明minSdk时,如何使用?

  • 字符串随机 Random::randStr(6); 纯数字字符串随机 Random::randNumStr(6);

  • 问题内容: 我正在尝试运行shell命令,捕获stdout并将该输出写入文件。但是,我似乎缺少了一些步骤,因为当程序存在时,我要写入的文件为空。如何捕获命令的标准输出并将其写入文件? 问题答案: 您需要冲洗编写器。添加以下内容: