Eliminación de espacio en shell bash
Resuelto
jean
-
jean -
jean -
Bonjour,
tiene en un script una variable que contiene una lista de nombres y apellidos.
Pero no puede eliminar los primeros espacios al inicio de la línea.
Cuando uso sed 's/ //g' elimino los espacios entre las palabras, pero no los 2 espacios al principio.
¿Cómo puedo hacer?
Con cat -A aparece el código "M-BM- M-BM- " en el lugar de los espacios molestos.
Le agradezco.
tiene en un script una variable que contiene una lista de nombres y apellidos.
Pero no puede eliminar los primeros espacios al inicio de la línea.
Cuando uso sed 's/ //g' elimino los espacios entre las palabras, pero no los 2 espacios al principio.
¿Cómo puedo hacer?
Con cat -A aparece el código "M-BM- M-BM- " en el lugar de los espacios molestos.
Le agradezco.
6 respuestas
Je vois bien la similitude du problème, mais pourriez-vous m'expliquer la regexp suivante (car je suppose que c'est avec ça que je devrais résoudre mon problème) :
sed '/^\xC2\xA0$/{:z;N; /\n\xC2\xA0$/!b; s/^\xC2\xA0\n\xC2\xA0\n\xC2\xA0\n\xC2\xA0$/#/;T z}'
sed '/^\xC2\xA0$/{:z;N; /\n\xC2\xA0$/!b; s/^\xC2\xA0\n\xC2\xA0\n\xC2\xA0\n\xC2\xA0$/#/;T z}'
Si solo hay que eliminar los 2 espacios al inicio de la línea, la siguiente sintaxis debería ser suficiente:
sed 's/^\xC2\xA0//' archivo
En efecto, con sed 's/^\xC2\xA0\xC2\xA0//' el archivo funcionó.
¿A qué corresponde el xC2\xA0? ¿Cómo sabemos que es este código el que corresponde?
Gracias de todos modos.
¿A qué corresponde el xC2\xA0? ¿Cómo sabemos que es este código el que corresponde?
Gracias de todos modos.
En realidad "\xC2\xA0" es la notación hexadecimal del código ASCII (\302\240) correspondiente a la secuencia de carácter no imprimible "M-BM- M-BM- ".
Basta con mostrar tu archivo con "cat -A" o "sed -n l" o incluso con un editor hexadecimal como "hexedit" o "od" para ver este código. Después solo hay que buscar una tabla en internet para la correspondencia...
Basta con mostrar tu archivo con "cat -A" o "sed -n l" o incluso con un editor hexadecimal como "hexedit" o "od" para ver este código. Después solo hay que buscar una tabla en internet para la correspondencia...