我想隨機調(diào)整文本文件的行并創(chuàng)建一個新文件。該文件可能有數(shù)千行。我怎樣才能做到這一點與cat,awk,cut等?
3 回答

江戶川亂折騰
TA貢獻(xiàn)1851條經(jīng)驗 獲得超5個贊
您可以使用shuf
。至少在某些系統(tǒng)上(在POSIX中似乎沒有)。
正如jleedev指出的那樣:sort -R
也可能是一個選擇。至少在某些系統(tǒng)上;好吧,你知道了。有人指出,這sort -R
并不是真正的洗牌,而是根據(jù)其哈希值對項目進(jìn)行排序。
[編者注:除了重復(fù)的行/排序鍵總是彼此相鄰結(jié)束之外,sort -R
幾乎都改組了。換句話說:只有使用唯一的輸入行/鍵,它才是真正的隨機播放。確實,輸出順序是由哈希值確定的,但隨機性來自選擇隨機哈希函數(shù) -參見手冊。

回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗 獲得超11個贊
Perl單線將是Maxim解決方案的簡單版本
perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);' < myfile
添加回答
舉報
0/150
提交
取消