Preguntas etiquetadas con sed

9
Alternativa de Sed para buscar y reemplazar en líneas muy largas

Tengo archivos que fueron generados por un programa que no puso nuevas líneas al final de los registros. Quiero poner nuevas líneas entre los registros, y puedo hacerlo con un simple script sed: sed -e 's/}{/}\n{/g' El problema es que los archivos de entrada tienen un tamaño de varios gigabytes...

9
Combina líneas alternativas de dos archivos

Archivo1: .tid.setnr := 1123 .tid.setnr := 3345 .tid.setnr := 5431 .tid.setnr := 89323 Archivo2: .tid.info := 12 .tid.info := 3 .tid.info := 44 .tid.info := 60 Archivo de salida: .tid.info := 12 .tid.setnr := 1123 .tid.info := 3 .tid.setnr := 3345 .tid.info := 44 .tid.setnr :=...

9
sed: ¿cómo capitalizar cada tercera palabra?

Dado: main_east_library main_west_roof main_north_roof minor_south_roof ¿Cómo se utiliza I sed(en concreto, no awk, tr, etc.) para crear: main_east_Library main_west_Roof main_north_Roof minor_south_Roof Algo como: $ echo "main_west_library main_west_roof main_north_roof minor_south_roof" |...

9
awk sed si declaración

Estoy tratando de agregar 0 al principio, SI hay un "." en el segundo caracter de esa línea. No pude combinar estos dos; awk '{ print substr( $0, 2, 1 ) }' file.txt mostrando el segundo personaje sed -ie "s/.\{0\}/0/" file.txt agregando un cero al principio. Debería haber un "si el segundo...

9
Cómo abreviar / ruta / a / archivo a / p / t / archivo

Estoy buscando una línea elegante (p. Ej. awk) Que acorte una cadena de una ruta Unix usando el primer carácter de cada nivel primario / intermedio, pero el nombre base completo. Más fácil de mostrar con ejemplos: /path/to/file → /p/t/file /tmp → /tmp /foo/bar/.config/wizard_magic →...

9
Interpretación de ~ in sed

Estoy aprendiendo sed hoy en día. Existe esta tilde '~' que me confunde más que nada. Por ejemplo, el comando sed -n '1~2 w output.txt' input.txt está imprimiendo las líneas impares (al archivo output.txt). En el mismo tutorial, también se da cuenta de que omite las líneas de 1 a 2 y luego...