2010-04-15 6 views
0

Je veux ajouter un caractère de retour arrière littéralement dans mon fichier nommé indésirable. Donc, je ne suit
$ ed
un
mon nom est heureux \ b (ici b signifie que je tapais backspace donc \ disapperaed et curseur obtient sfter y assoit)
.
w indésirable
qcaractère spécial sous UNIX

Mais quand je fais
$ od -CB indésirable
il ne montre pas backspace.

Répondre

3

Appuyez sur Ctrl+V avant de cliquer sur backspace. Cela indique au shell de traiter littéralement la frappe suivante, plutôt que d'interpréter sa signification.

Selon la façon dont votre terminal est configuré, la clé backspace peut être interprété comme delete, de sorte que vous pourriez avoir besoin de frapper Ctrl+H au lieu de backspace pour obtenir un caractère backspace dans votre dossier.

+0

Cela ne fonctionne pas. Quand je clique sur ctrl-V, il affiche un trait de soulignement puis en appuyant sur les suppressions de retour arrière qui soulignent et/restent telles quelles. En passant, j'utilise le logiciel cygwin. Cela crée-t-il un problème? –

+0

Ah, d'accord. Je ne sais pas pourquoi Cygwin ne fonctionne pas, désolé. – RichieHindle

2

Type ctrl-v, ctrl-h.

ctrl-v dit 'insérer le caractère suivant de contrôle littéralement. Le curseur doit être remplacé par un curseur en surbrillance.

ctrl-h est le backspace. Cela ressemble à ed, en tapant ctrl-h sans ctrl-v insère également un retour arrière littéral, mais dans d'autres contextes, crtl-h peut avoir une autre signification, et vous devrez d'abord appuyer sur ctrl-v.

EDIT: Avec les étapes ci-dessus, od -CB m'a donné:

$ od -cb file 
0000000 h e l l o \b \n 
     150 145 154 154 157 010 012 
0000007 

qui semble correct.

Quand je l'ai essayé à nouveau avec ctrl-v, Backspace (par opposition à ctrl-h), il a donné lieu

$ od -cb file 
0000000 h e l l o 177 \n 
     150 145 154 154 157 177 012 
0000007 

177 est le code octal ascii pour DEL, non Backspace. Cela peut varier selon le système, cependant.

Questions connexes