Adakah yang tahu alat berbasis-non-baris untuk "biner" mencari / mengganti string dengan cara yang agak hemat memori? Lihat pertanyaan ini juga.
Saya memiliki file teks + 2GB yang ingin saya proses serupa dengan apa yang tampaknya dilakukan:
sed -e 's/>\n/>/g'
Itu berarti, saya ingin menghapus semua baris baru yang terjadi setelah >
, tetapi tidak di tempat lain, sehingga mengesampingkan tr -d
.
Perintah ini (yang saya dapatkan dari jawaban pertanyaan serupa ) gagal dengan couldn't re-allocate memory
:
sed --unbuffered ':a;N;$!ba;s/>\n/>/g'
Jadi, apakah ada metode lain tanpa menggunakan C? Saya benci perl, tetapi saya bersedia membuat pengecualian dalam kasus ini :-)
Saya tidak tahu pasti karakter apa pun yang tidak muncul dalam data, jadi mengganti sementara \n
dengan karakter lain adalah sesuatu yang ingin saya hindari jika memungkinkan.
Ada ide bagus, siapa saja?
--unbuffered
kehabisan memori
$!
harus dilakukan
$!
itu benar. Ini saya berharap akan membutuhkan BANYAK memori.
sed
bukan alat yang tepat dalam hal ini.
--unbuffered
?