我想随机调整文本文件的行并创建一个新文件。该文件可能有数千行。我怎样才能做到这一点与cat,awk,cut等?
3 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
您可以使用shuf
。至少在某些系统上(在POSIX中似乎没有)。
正如jleedev指出的那样:sort -R
也可能是一个选择。至少在某些系统上;好吧,你知道了。有人指出,这sort -R
并不是真正的洗牌,而是根据其哈希值对项目进行排序。
[编者注:除了重复的行/排序键总是彼此相邻结束之外,sort -R
几乎都改组了。换句话说:只有使用唯一的输入行/键,它才是真正的随机播放。确实,输出顺序是由哈希值确定的,但随机性来自选择随机哈希函数 -参见手册。
呼如林
TA贡献1798条经验 获得超3个赞
Perl单线将是Maxim解决方案的简单版本
perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);' < myfile
- 3 回答
- 0 关注
- 549 浏览
添加回答
举报
0/150
提交
取消