`cut -d: -f5-` imprime linhas mesmo que não tenham dois pontos

12

Supondo que um arquivo chamado "arquivo" contenha as linhas:

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

Se usarmos o comando cut com essas opções, obteremos:

$ 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

Na última linha, o caractere de dois pontos não foi encontrado; portanto, normalmente não deveria ter seguido essa linha, porque começamos com o quinto campo até o final da linha.

Por que ?

00-Yalo
fonte

Respostas:

16

Por padrão, cutcom a -fopção imprime qualquer linha que não contenha um caracter delimitador. Use -sse você não quiser:

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