Cualquier carácter o cadena se puede reemplazar utilizando el comando 'sed'. A veces, necesitamos reemplazar el carácter nuevo (\ n) en un archivo con una coma. En este artículo, utilizamos el comando 'sed' para reemplazar \ n con una coma.
Usar 'Sed' para reemplazar \ n con una coma
Pueden ocurrir muchos problemas al reemplazar \ n con una coma. Por defecto, cada línea termina con \ n al crear un archivo. El comando 'sed' puede dividirse fácilmente en \ n y reemplazar la nueva línea con cualquier carácter. Se puede usar otro delimitador en lugar de \ n, pero solo cuando se usa Gnu Sed. Cuando falta el \ n en la última línea del archivo, Gnu Sed puede evitar la impresión \ n. Además, generalmente se agrega a cada salida consecutiva de 'Sed'.
Crear un archivo
En este artículo, le mostraremos cómo usar el comando 'sed' para reemplazar \ n con una coma. Para seguir junto con este tutorial, cree un archivo de texto llamado Clientela.TXT con la siguiente información del cliente tabular.
IDENTIFICACIÓN | Nombre | Correo electrónico | Teléfono |
---|---|---|---|
C01 | Maryland. Rakib | [email protected] | 01856233238 |
C02 | Meher afroze | [email protected] | 01733536342 |
C03 | Fakrul Ahsan | [email protected] | 01934737248 |
C04 | Helal Uddin | [email protected] | 01534895898 |
C05 | Nusrat Jahan | [email protected] | 01866345254 |
Ejemplo 1: Reemplace \ n con una coma usando -z
La opción -z se usa para convertir \ n al carácter nulo (\ 0). El contenido del archivo se trata como una sola línea si no contiene caracteres nulos. El comando 'sed' convertirá la nueva línea en el carácter nulo y reemplazará cada \ n con una coma utilizando el primer patrón de búsqueda y reemplazo. Aquí, 'G' se usa para buscar globalmente \ n. Con el segundo patrón de búsqueda y reemplazo, la última coma se reemplazará con \ n.
$ CAT CLIENTES.TXT
$ Sed -z 's/\ n/,/g; s/, $/\ n/' clientes.TXT
La siguiente salida se producirá después de ejecutar los comandos.
Ejemplo 2: Reemplace \ n con una coma usando A, B, $! y N
El comando 'sed' se puede usar para reemplazar \ n con una coma usando A, B, N y $!. Aquí, a se usa para agregar tareas, b se usa para ramificar el contenido, norte se usa para ir a la siguiente línea y ps! se usa para evitar que la tarea de reemplazo se aplique a la última línea. El comando reemplazará cada \norte con una coma excepto la última línea.
$ CAT CLIENTES.TXT
$ sed ': a; n; $!BA; s/\ n/,/g 'clientes.TXT
La siguiente salida se producirá después de ejecutar los comandos.
Ejemplo 3: Reemplace \ n con una coma usando H, H, D, X e Y
Si quieres reemplazar \norte) con una coma en un archivo pequeño, luego se puede usar el siguiente comando 'sed'. Aquí, H se usa para agregar la última línea al texto de retención, 1H se usa para copiar cada línea del archivo al texto de retención desde la primera línea, ps!d se usa para eliminar todas las líneas excepto la última línea, X se usa para intercambiar el texto de retención y el espacio del patrón, y Y se usa para reemplazar cada \norte en el texto de retención con una coma.
$ CAT CLIENTES.TXT
$ sed 'h; 1h; $!d; x; y/\ n/,/'clientes.TXT
La siguiente salida se producirá después de ejecutar los comandos.
Ejemplo 4: Reemplace \ n con una coma usando -n, h, h, g y p
El comando 'sed' se puede usar para reemplazar \norte con una coma con -norte opción, que evita la impresión automática. Como en el ejemplo anterior, H se usa aquí para agregar la última línea al texto de retención, 1h se usa para copiar cada línea del archivo al texto de retención, ps se refiere a la última línea del archivo, gramo se usa para copiar desde el texto de retención y pag se usa para imprimir.
$ CAT CLIENTES.TXT
$ sed -n "h; 1H; \ $ g; s/\ n/,/g; p" clientes.TXT
La siguiente salida se producirá después de ejecutar los comandos anteriores.
Ejemplo 5: Reemplace \ n con una coma usando H, X, P
H, X y P han sido explicados en ejemplos anteriores. La primera expresión de búsqueda y reemplazo reemplazará cada \norte con una coma, y la segunda expresión de búsqueda y reemplazo reemplazará una coma al comienzo de una línea con un espacio.
$ CAT CLIENTES.TXT
$ sed -n 'h; $ x; s/\ n/,/g; s/^, //; p;' clientes.TXT
La siguiente salida se producirá después de ejecutar los comandos anteriores.
Ejemplo 6: Reemplace \ n con una coma usando n y 'gato'
El comando 'CAT' se usa aquí para enviar el contenido del archivo al comando 'Sed', y norte se usa para moverse a la siguiente línea.
$ CAT CLIENTES.TXT
$ CAT CLIENTES.txt | sed 'n; s/\ n/,/'
La siguiente salida se producirá después de ejecutar los comandos anteriores.
Conclusión
Puede ser necesario reemplazar \ n con una coma para transferir datos de un formato de archivo a otro. Este tipo de reemplazo también se puede hacer utilizando otros comandos de Linux. Muchas opciones de comando, como H, N, H y X, se pueden usar con el comando 'SED' para completar esta tarea. Este tutorial repasa varias formas de usar el comando 'sed' para reemplazar \ n con una coma.