Saya memiliki file teks (70GB), satu baris , dan saya ingin mengganti string (token) di dalamnya. Saya ingin mengganti token <unk>, dengan token dummy lainnya ( masalah sarung tangan ).
Saya mencoba sed:
sed 's/<unk>/<raw_unk>/g' < corpus.txt > corpus.txt.new
tetapi file output corpus.txt.newmemiliki nol-byte!
Saya juga mencoba menggunakan perl:
perl -pe 's/<unk>/<raw_unk>/g' < corpus.txt > corpus.txt.new
tapi saya mendapat kesalahan memori.
Untuk file yang lebih kecil, kedua perintah di atas berfungsi.
Bagaimana saya bisa mengganti string adalah file seperti itu? Ini adalah pertanyaan terkait, tetapi tidak ada jawaban yang cocok untuk saya.
Sunting : Bagaimana dengan memisahkan file dalam potongan 10GB (atau apa pun) masing-masing dan menerapkannya sedmasing-masing dan kemudian menggabungkannya cat? Apakah itu masuk akal? Apakah ada solusi yang lebih elegan?
splitdengan -bopsi mendefinisikan ukuran file potongan dalam byte. Proses masing-masing pada gilirannya menggunakan seddan merakit kembali. Ada risiko adalah bahwa <unk>dapat dipecah menjadi dua file dan tidak akan ditemukan ...