Qualcuno sa di uno strumento non basato su linea per cercare "binario" / sostituire le stringhe in modo un po 'efficiente in termini di memoria? Vedi anche questa domanda .
Ho un file di testo + 2 GB che vorrei elaborare in modo simile a quello che sembra fare:
sed -e 's/>\n/>/g'
Ciò significa che voglio rimuovere tutte le nuove righe che si verificano dopo un >, ma non altrove, in modo da escludere tr -d.
Questo comando (che ho ricevuto dalla risposta di una domanda simile ) fallisce con couldn't re-allocate memory:
sed --unbuffered ':a;N;$!ba;s/>\n/>/g'
Quindi, ci sono altri metodi senza ricorrere a C? Odio il Perl, ma sono disposto a fare un'eccezione in questo caso :-)
Non sono sicuro di alcun personaggio che non si presenta nei dati, quindi la sostituzione temporanea \ncon un altro personaggio è qualcosa che vorrei evitare, se possibile.
Qualche buona idea, qualcuno?
--unbufferedmemoria
$!?
$!sia. Ciò che mi aspetto avrà bisogno di MOLTA memoria.
sednon sia lo strumento giusto in questo caso.
--unbuffered?