sed

Cómo reemplazar la línea nueva con una coma usando el comando 'sed'

Cómo reemplazar la línea nueva con una coma usando el comando 'sed'

Cualquier carácter o cadena se puede reemplazar usando el comando 'sed'. A veces, necesitamos reemplazar el carácter de nueva línea (\ n) en un archivo con una coma. En este artículo, usamos el comando 'sed' para reemplazar \ n con una coma.

Usando 'sed' para reemplazar \ n con una coma

Pueden ocurrir muchos problemas al reemplazar \ n con una coma. De forma predeterminada, cada línea termina con \ n al crear un archivo. El comando 'sed' puede dividirse fácilmente en \ ny 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 \ n en la última línea del archivo, GNU sed puede evitar la impresión \ n. Además, \ n 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 este tutorial, cree un archivo de texto llamado Clientela.TXT con la siguiente información tabular del cliente.

IDENTIFICACIÓN Nombre Correo electrónico Teléfono
c01 Maryland. Rakib [correo electrónico protegido] 01856233238
c02 Meher Afroze [correo electrónico protegido] 01733536342
c03 Fakrul Ahsan [correo electrónico protegido] 01934737248
c04 Helal Uddin [correo electrónico protegido] 01534895898
c05 Nusrat Jahan [correo electrónico protegido] 01866345254

Ejemplo 1: Reemplaza \ 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 ningún carácter nulo. El comando 'sed' convertirá la nueva línea en el carácter nulo y reemplazará cada \ n con una coma usando 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: Reemplaza \ 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 utiliza para ramificar el contenido, norte se usa para ir a la siguiente línea, y PS! se utiliza para evitar que la tarea de reemplazo se aplique a la última línea. El comando reemplazará a 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: Reemplaza \ n con una coma usando H, h, d, xey

Si quieres reemplazar \norte) con una coma en un archivo pequeño, entonces se puede usar el siguiente comando 'sed'. Aquí, H se usa para agregar la última línea al texto de espera, 1h se usa para copiar cada línea del archivo al texto de espera desde la primera línea, PS!D se usa para borrar todas las líneas excepto la última línea, X se utiliza para intercambiar el texto de retención y el espacio del patrón, y y se utiliza para reemplazar cada \norte en el texto de espera 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: Reemplaza \ 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 espera, 1h se usa para copiar cada línea del archivo al texto de espera, PS se refiere a la última línea del archivo, gramo se utiliza para copiar del texto de espera, 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: Reemplaza \ n con una coma usando H, x, p

H, x y p se han explicado 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: Reemplaza \ n con una coma usando N y 'cat'

El comando 'cat' se usa aquí para enviar el contenido del archivo al comando 'sed', y norte se usa para pasar 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 realizar utilizando otros comandos de Linux. Muchas opciones de comando, como H, N, hyx, 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.

SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...
0 A.D. Tutorial
De los muchos juegos de estrategia que existen, 0 A.D. logra destacarse como un título completo y un juego táctico muy profundo a pesar de ser de códi...