web-dev-qa-db-fra.com

Supprimer un caractère de nomenclature dans un fichier

J'ai un caractère de nomenclature dans mon fichier html. Je veux l'enlever. J'ai beaucoup cherché et utilisé beaucoup de scripts et etc .... Mais personne n'a travaillé. J'ai également téléchargé notepad ++, mais il n'y a pas d'encodage "UTF8 sans BOM" dans son menu d'encodage. Comment supprimer ce caractère de nomenclature? Merci.

The screenshot of my notepad++

20
Meysam Valuyan

Si vous regardez dans le même menu. Cliquez sur "Convertir en UTF-8".

If you look in the same menu. Click "Convert to UTF-8.

29
WalterM

Vous pouvez résoudre le problème en utilisant vim, où vous pouvez facilement obtenir avec MinGW-w64 (si vous avez installé Git, il vient) ou Cygwin.

Donc, la clé est d'utiliser:

  • L'option -s, qui exécutera un script vim avec les commandes vim.
  • L'option -b, qui ouvrira votre fichier en mode binaire, où vous verrez ces octets de nomenclature maladroits
  • L'option -n, ce qui est très important! Cette option refuse l'utilisation de fichiers d'échange, donc tout votre travail s'exécute en mémoire. Cela vous donne l'assurance que si le fichier est volumineux, les fichiers d'échange peuvent induire le processus en erreur.

Cela dit, passons au code!

  1. Vous créez d'abord un fichier simple, ici nommé 'script', qui contiendra les commandes vim

    echo 'gg"+gPggdtCZZ' > script
    

    ... cette chaîne étrange dit à vim " Allez au début du fichier, copiez le premier Word et collez-le derrière le curseur, supprimez donc tout jusqu'à ce que le caractère 'C', puis, enregistrez le fichier "

    Note: Si votre fichier commence par un autre caractère que 'C', vous devez le spécifier. Si vous avez différents "premiers caractères", vous pouvez suivre la logique et créer un script bash qui lira le premier caractère et le remplacera pour vous dans l'extrait ci-dessus.

  2. Exécutez la commande vim:

    vim -n -b <the_file> -s script