我有這個文件「file.txt」,我想分割成許多小文件。 這一塊它:使用RegExp的匹配值來命名輸出文件
0 id:2293 7:0.78235 12:0.69205 17:0.79421 21:0.77818 ..
4 id:2293 7:0.78235 8:0.97904 12:0.69205 17:0.31709 ..
1 id:2294 7:0.78235 8:0.90994 17:0.49058 21:0.59326 ..
的文件的每一行都有一個id字段,它看起來像「ID:1」用於屬於ID 1 每個ID文件中的一條線,我喜歡創建一個名爲id id
.txt的文件,並將屬於該id的所有行放在該文件中。 我的蠻力bash腳本解決方案如下所示。
count=1
while [ $count -lt 19945 ] do
cat file.txt | grep "id:$count " >> ./sets/id$count.txt
count='expr $count + 1'
done
現在,這是非常低效的,因爲我已經通過文件約20.000倍務必閱讀。 有沒有辦法通過文件只進行一次相同的操作? - 我可能要求的是一種使用與正則表達式相匹配的值來命名相關輸出文件的方法。
顯示您的文件看起來像下一次 – ghostdog74 2010-04-15 08:20:24