Soy un principiante al sed
. Yo sé que es posible aplicar un comando (o un conjunto de comandos) para una determinada gama de líneas igual quesed - unir un rango de líneas seleccionadas
sed '/[begin]/,/[end]/ [some command]'
donde [begin]
es una expresión regular que designa la línea de comienzo de la gama y [end]
es un habitual expresión que designa la línea final del rango (pero está incluida en el rango).
Estoy tratando de usar esto para especificar un rango de líneas en un archivo y unirlas todas en una línea. Aquí está mi mejor intento, que no funcionaba:
sed '/[begin]/,/[end]/ {
N
s/\n//
}
'
soy capaz de seleccionar el conjunto de líneas que quiera sin ningún problema, pero me parece que no puede fusionar a todos en una sola línea. Si alguien pudiera señalarme en la dirección correcta, estaría realmente agradecido.
Muchas gracias. Nunca pensé usar el espacio de espera; Aprendí mucho de tu respuesta. – Setris
Tenga en cuenta que esto descartará * todas las demás líneas *. Vea a continuación la respuesta de @Thor para una solución más robusta. – krlmlr