linux下打亂文本行序、文本分割與文本合併

一、打亂文本行序

linux下,將train.txt按行打亂,每行內容則保持不變,直接將輸出寫入新的文本train_rand.txt,命令:

shell copy
  1. sudo awk 'BEGIN{ 100000*srand();}{ printf "%s %s\n", rand(), $0}' train.txt |sort -k1n | awk '{gsub($1FS,""); print $0}' > train_rand.txt  

srand(); rand()在awk內獲取隨機數
gsub替換文本


二、文本分割

將一個大文本拆分爲幾個小文本可以用命令split:

split -l n 原始文件 拆分後文件名前綴

最後一個文件的行數沒有n行則以剩餘行數進行分配,比如有一個名爲train.txt的文件,公有210行,進行拆分:

拆分後會生成三個文本,最後一個文本僅有10行

shell copy
  1. split -l 100 train.txt train_split

三、文本合併

將幾個文本train_1.txt train_2.txt train_3.txt合併爲一個 train.txt可以用命令:

shell copy
  1. cat train_1.txt train_2.txt train_3.txt > train.txt









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章