Tengo un archivo de texto, donde los registros se dividen en dos líneas. Me gustaría ponerlos en una línea. Los registros se parecen a esto:
2013-07-29
 apt-get install git
2013-07-29
 apt-get install rsync
2013-07-31
 apt-get install nmap
2013-08-02
 apt-get install cifs-utils
2013-08-05
 apt-get install telnet
Me gustaría obtener lo siguiente:
2013-07-29 apt-get install git
2013-07-29 apt-get install rsync
2013-07-31 apt-get install nmap
2013-08-02 apt-get install cifs-utils
2013-08-05 apt-get install telnet
Lo intenté con sed, pero no puedo hacer coincidir dos líneas. ¿Hay algún truco sedo hay alguna herramienta mejor?
                    
                        text-processing
                                sed
                                
                    
                    
                        Martin Vegter
fuente
                
                fuente

Respuestas:
Nune la siguiente línea de entrada al espacio del patróns/\n/ /reemplaza la nueva línea que separa las líneas con un espacio.o:
-ndeshabilita la impresión automática del espacio del patrón como último comando/regex/pimprime líneas que coinciden con expresiones regularesUse el
gmodificador para las sustituciones en caso de que esté uniendo más de dos líneas, por ejemploN;N;N;s/\n/ /g.fuente
sed 's/>\n</>,</'al trabajo hasta que me di cuenta de que sed funciona en líneas a la vez. una búsqueda rápida de duckduckgo y @peterph me permitieron mantener el resto de mi cabelloParece que las
apt-getlíneas tienen un espacio en blanco precedente. Diciendo:debería producir el resultado deseado.
Alternativamente, también puedes usar
paste:fuente