Não, é o mesmo em todas as implementações de cut
. Os números começam em um, é apenas o Solaris não reclamará se você fornecer 0 e o tratará como 1. Ambos 0
e 1
significa o primeiro caractere e 2
significa o segundo caractere:
$ echo test | cut -c 0-2
te
$ echo test | cut -c 1-2
te
busybox
cut
ou cut
incorporado em ksh93
também não se queixam. O GNU cut
apenas tenta ser útil em dizer que você provavelmente não tem a idéia correta sobre o que é o primeiro índice.
Uma diferença real é que GNU e busybox cut
(pelo menos a partir de 2014-03-27), contam em bytes para -c
, enquanto Solaris ou ksh cut
contam em caracteres (como requer POSIX) .
$ echo 'Stéphane' | cut -c 1-4
Sté
$ echo 'Stéphane' | busybox cut -c 1-4
Sté
$ echo 'Stéphane' | ksh -c 'command /opt/ast/bin/cut -c 1-4'
Stép
(em uma localidade UTF-8, é (U + 00E9) leva 2 bytes)