2015-10-07 22 views

risposta

12

Se si guarda nello stesso menu. Fai clic su "Converti in UTF-8".

3

È possibile risolvere il problema utilizzando vim, dove è possibile ottenere facilmente con MinGW-w64 (se è stato installato Git viene fornito insieme) o Cygwin.

Quindi, la chiave è quella di utilizzare:

  • L'opzione -s, che eseguirà uno script Vim con i comandi vim.
  • L'opzione -b, che aprirà il file in modalità binaria, dove vedrete quelli imbarazzante BOM byte
  • L'opzione -n, che è molto importante! Questa opzione rifiuta l'uso dei file di scambio, quindi tutto il tuo lavoro viene eseguito in memoria. Ti dà sicurezza perché se il file è di grandi dimensioni, i file di scambio possono fuorviare il processo.

Detto questo, andiamo al codice!

  1. Per prima cosa è creare un semplice file, qui chiamato 'script', che conterrà i comandi di vim

    echo 'gg"+gPggdtCZZ' > script 
    

    ... questa stringa strano dice a vim "Vai all'inizio del di file, copiate la prima parola e incollarlo dietro il cursore, in modo da eliminare tutto fino carattere 'C', quindi, salvare il file "

    Nota: se il file inizia con l'altro carattere di 'C', è avere per specificarlo. Se hai "primi caratteri" diversi, puoi seguire la logica e creare uno script bash che leggerà il primo carattere e lo sostituirà nello snippet in alto.

  2. Eseguire il comando vim:

    vim -n -b <the_file> -s script 
    
+0

Non ho idea perché, ma questo funziona per me. Grazie! –

+1

Se si desidera utilizzare Vim, questo comando è molto più semplice: 'vim " + set nobomb "" + wq "'. In questo modo, non è necessario conoscere il primo carattere visibile del file. –

+0

Puoi approfondire i file di scambio che causano problemi al tuo script? Non dovrebbe essere trasparente? –

Problemi correlati