Eliminar todo de un file de text entre ":" y "\ n"

Tengo un gran file de text (263 líneas) que contiene líneas como estas:

image_name.jpg: *lots of spaces* JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 1024x768, frames 3 \n image_name.jpg: *lots of spaces* JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 70", progressive, precision 8, 960x540, frames 3 \n image_name.png: *lots of spaces* PNG image data, 752 x 760, 8-bit/color RGBA, non-interlaced \n 

¿Cómo puedo eliminar todo el text entre : y \ n a la vez?

Solutions Collecting From Web of "Eliminar todo de un file de text entre ":" y "\ n""

Con cut :

 cut -d: -f1 file 

Con sed :

 sed -e 's/:.*//' file 

Con awk :

 awk -F: '{print $1}' file 

Con GNU grep o muchos BSD grep s (pero no POSIX grep ):

 grep -o '^[^:]*' file 

cut es el más corto.

Si desea modificar el file en el lugar, su sed puede tener una opción -i que lo haga, pero cómo exactamente funciona eso depende de su plataforma. De lo contrario, el > file2 && mv file2 file al final de cualquiera de ellos funcionará.

Alternativamente, con ed , in-place everywhere:

 printf ',s/:.*/\nw\n' | ed file 

ObPerl:

 perl -pe 's/:.*//' file 

o in situ, dejando un file de respaldo:

 perl -i.bak -pe 's/:.*//' file