Tengo un archivo en el que necesito eliminar todo después del primero ;en cada línea.
Entonces un archivo como este:
sdfsdsdf;
fsdfsddf;sdfsd;
Resultará en esto:
sdfsdsdf
fsdfsddf
He investigado grepy sed. Agradecería una respuesta que incorpore cualquiera de estos comandos.
command-line
scripting
grep
sed
recolector de basura
fuente
fuente

sed 's/;.*//'otra opción es usar el
cutcomandofuente
Normalmente uso
awkpara cosas como esta:cat a.file | awk -F=";" '{ print $1 }'Eso tomará cada línea de un archivo e imprimirá el primer grupo antes del delimitador
-Ffuente
cat.Aquí hay una manera de hacerlo usando GNU
grep:fuente
grep -Eo '^[^;]+;' filenamecasi lo consigue, solo imprime un personaje demasiados.grep -Eo '^[^;]+' filenamecasi también lo consigue, pero también imprimirá líneas completas (no vacías) que no tienen ninguna;.