Salve a tutti ~ Come posso rimuovere tutte le stringhe duplicate all'interno del file bash_history da terminale? Grazie. |
Il default della configurazione di
che è una abbreviazione per Quindi, se ti ritrovi dei duplicati significa che hai modificato questa impostazione e piuttosto che modificare il file Edit Per rimuovere linee duplicate in un file, indipendentemente dalla loro posizione, è possibile usare
anche se ho qualche dubbio relativo al fatto, che spiegavo nel commento, che la history viene poi modificata dal processo Riferimento, questa mia risposta su U&L: http://unix.stackexchange.com/questions/30173/how-to-remove-duplicate-lines-inside-a-text-file/30178#30178 Nel mio bashrc HISTCONTROL=ignoreboth è settata correttamente, eppure è pieno di duplicati. Non so, le uniche cose che ho aggiunto al file di configurazione sono qualche alias e degli export, non ho modificato nulla di ciò che c'era. @nico: ma i duplicati, oltre a vederli nel file, ti si presentano anche quando ti muovi nella history con freccia su e giù? Qual è il problema che riscontri? Sappi che la gestione della history è piuttosto complessa, il file viene letto in memoria quanto una shell inizia, poi non viene toccato fino a quando la shell termina, momento in cui la history in memoria viene "aggiunta" al file, ma molte sono le impostazioni che possono modificare questo comportamento. Inoltre se hai più shell aperte, tutte usano lo stesso file di history, quindi anche questo può essere una causa per i duplicati. Il problema si presenta sia quando navigo la history con le frecce che quando cerco qualche comando dato magari il giorno prima con "history | grep prog". In pratica ho più di 2000 record nel bash_history, di cui almeno il 70% sono duplicati. L'altro giorno ad esempio ho backportato alcuni pacchetti di debian sul mio ppa e mi sono ritrovato nell'history ventine di volte in modo ripetuto programmi come cd, dch, debuild, ecc. Per questo volevo rimuovere i duplicati, così da trovare sempre, con poche manovre, i comandi che uso di più. @nico: ho modificato la risposta aggiungendo un metodo, con tutte le riserve del caso espresse precedentemente. Grazie mille. Adesso con un piccolo script posso rimuovere i duplicati quando serve. |
Segui questa domanda
Via email:Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui
Via RSS:Basi di markdown
- *corsivo* o __corsivo__
- **grassetto** o __grassetto__
- collegamento:[testo](http://url.com/ "titolo")
- immagine?
- elenco numerato: 1. Foo 2. Bar
- per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
- è supportato anche semplice HTML
Tag:
domanda posta: 02 Apr '14, 20:27
domanda visualizzata: 1,664 volte
ultimo aggiornamento: 03 Apr '14, 19:36