Soy nuevo en el scripting de shell y estoy tratando de eliminar el nuevo carácter de línea de cada línea usando SED. esto es lo que he hecho hasta ahora:eliminando el carácter de la nueva línea de la secuencia entrante usando sed
printf "{new\nto\nlinux}" | sed ':a;N;s/\n/ /g'
elimina único personaje Ist nueva línea. he encontrado en alguna parte de este comando:
printf "{new\nto\nlinux}" | sed ':a;N;$!ba;s/\n/ /g'
pero da: "ba: Evento no encontrado".
si lo hago:
printf "{new\nto\nlinux}" | sed ':a;N;s/\n/ /g' | sed ':a;N;s/\n/ /g'
entonces se da salida correcta pero estoy en busca de algo mejor, ya que no estoy seguro cuántos nuevo personaje que voy a tener cuando corro el guión. transmisión entrante es de echo o printf o alguna variable en script. Gracias de antemano
El 'ba: Evento no encontrado' de error es de su cáscara. Deja de usar csh o escapa del! –
@WilliamPursell tengo que usar csh solo no tengo otras opciones para mí. ¡Por su sugerencia me caí! "printf" {new \ nto \ nlinux} "| sed ': a; N; $ ba; s/\ n// g'" este comando tampoco está dando el resultado correcto. Sé que hay muchas desventajas de usar csh pero tiene que usarlo debido a alguna compulsión :(..gracias –
No se puede eliminar el '!', pero se debe preceder con una barra invertida. –