Stavo cercando sed
di sostituire alcune parole chiave in un file di grandi dimensioni (100 MB). Non ero a conoscenza -i
dell'opzione (sul posto), quindi il mio primo tentativo è stato di reindirizzare in questo modo:
sed 's/original/edited/g' file.log >> file.log
quello che è successo dopo è stato che il mio PC si è fermato, quasi senza input da tastiera. Ho provato una console diversa Ctrl+ Alt+ F1ma dopo aver inserito lentamente il nome utente, si è anche fermato. Senza tastiera, la mia unica opzione era ripristinare l'hardware della macchina. Dopo aver effettuato l'accesso, ho visto che file.log era di circa 8 GB.
Vorrei davvero capire perché l'esecuzione di quel comando è stata in grado di rendere il sistema così non rispondente e se esistono meccanismi a livello di sistema per attivare avvisi e terminare il processo offensivo?
free -h
?
ex -sc '%s/original/edited/ge|x' file.log
dovrebbe fare quello che vuoi in modo idiomatico UNIX senza gli sed -i
effetti collaterali.