Sed
sed 's/\s.*$//'
Grep
grep -o '^\S*'
Awk
awk '{print $1}'
Como se señaló en los comentarios, -o
no es POSIX; sin embargo, tanto GNU como BSD lo tienen, por lo que debería funcionar para la mayoría de las personas.
Además, \s
/ \S
puede no estar en todos los sistemas, si el suyo no lo reconoce, puede usar un espacio literal, o si desea espacio y tabulación, aquellos en una expresión de paréntesis ( [...]
) o la [[:blank:]]
clase de caracteres (tenga en cuenta que estrictamente hablando \s
es equivalente a[[:space:]]
e incluye caracteres de espaciado vertical, así como CR, LF o VT que probablemente no le interesen).
El awk
primero supone que las líneas no comienzan con un carácter en blanco.
<
es útil aquí?cut < file
vscut file
? Entonces vea unix.stackexchange.com/a/70759/22565o
fuente
Y el que pasa
perl
,A través de GNU grep,
fuente