¿Cómo puedo usar awk o sed para imprimir una cadena solo hasta el primer carácter de subrayado?
Antes de:
host100_044 2
host101_045 2
host102_046 2
Después:
host100
host101
host102
unix
bash-scripting
unix-utils
Rubstr
fuente
fuente

Otra alternativa para sed:
Si los tiene en un archivo, puede llamarlo de la siguiente manera;
fuente
Salida:
Con nuevas líneas:
Salida:
fuente
Utilizando
sed:Usando la
sedopción de edición en el lugar,fuente
awksolución ya está publicada (ycutprobablemente sea la mejor en este caso), ya que preguntó por élsed, pero me ganaste con segundos :-). Incluso puede quitar el$, ya que coincidirá.*con el final de la línea de forma predeterminada.Las
-F'_'instruccionesawkpara utilizar guiones bajos como delimitadores de campo. Elawkscript en sí solo imprime el primer campo.fuente
Esto imprimirá la salida antes de
_:sed 's/_.*//' -filenamefuente