`cut -d: -f5-` imprime líneas incluso si no tienen dos puntos

12

Suponiendo un archivo llamado "archivo" que contiene las líneas:

foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

Si usamos el comando de corte con estas opciones obtenemos:

$ cut -d ":" -f 5- file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

En la última línea no se encontró el carácter de dos puntos, por lo que normalmente no debería haber tomado esa línea porque comenzamos con el quinto campo hasta el final de la línea.

Por qué es así ?

00-Yalo
fuente

Respuestas:

16

Por defecto, cutcon la -fopción imprime cualquier línea que no contenga un carácter delimitador. Úselo -ssi no los quiere:

$ cut -d ":" -f 5- -s file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
Florian Diesch
fuente