首页 > 解决方案 > 用 bash 修改 335 个随机行的 3d 列

问题描述

我有一个超过 3000 行和 3 列的文件。目前,第三列每行只包含一个“0”。我想随机选择 335 行并将第三列中的“0”更改为“1”(如果可能,在同一个文件中)。

我已经尝试了一些东西,shuf但它不起作用:

shuf -n 335 myfile.txt | awk -d'\t' '$3==1'

非常感谢您!

标签: bash

解决方案


如果行的顺序根本不重要,正如您在评论中所说,您可以使用:

awk 'BEGIN{FS=OFS="\t"} NR<336{$3=1}1' test.txt | shuf

推荐阅读