我有一张桌子。不得更改列顺序。并且应该保留这些值。
Name Age size Code
Abel 10 S A
Bjorn 20 M B
Casimir 30 L C
Dennis 40 XL D
我不只是想洗牌,而是独立地洗牌。所以作为示例输出:
Name Age size Code
Casimir 20 M D
Dennis 10 L C
Bjorn 40 XL A
Abel 30 S B
所以 shuf 不起作用。
以下使用
bash
和 GNUshuf
创建数据的随机版本。该脚本假定输入文件路径名是在命令行中给出的,并将在标准输出中输出结果。假设输入是制表符分隔的。该脚本首先计算输入数据中的列数。它通过简单地询问
awk
输入第一行中制表符分隔字段的数量来做到这一点。然后,该脚本逐一遍历输入文件的制表符分隔的列,并为每一列读取标题并随机播放其他行。然后将标题和打乱的行添加到临时输出文件中。
最后,因为输出现在在每行的开头包含一个选项卡,所以它被过滤
sed
以删除这些。示例运行: