seq -w equivalente en os-x bash

seq -w equivalente en os-x bash

Tengo subcarpetas llamadas 00 01 02, ... n y cada nombre de carpeta contiene al menos 2 dígitos. Necesito acceder a estas subcarpetas en la terminal os-x. El comando

for i in $(seq -w 00 06); do
echo $i;
done

produce una salida de 0 1 2 3 4 5 6. Sin embargo, el código anterior en RHEL producirá un resultado de 00 01 02 03 04 05 06. ¿Cómo puedo hacer que el terminal mac produzca una salida de al menos 2 dígitos similar a RHEL?

Respuesta1

No tengo un sistema operativo OS para probarlo, pero quizás esta alternativa funcione:

seq -f '%02.0f' 0 6

Respuesta2

OS/X viene con zsh, por lo que puede escribir su script en zshsu lugar (tenga en cuenta que ya estaba usando zshla sintaxis (ya que $ino se citó la que invoca el operador split+glob en bash):

for x in {00..06}; do
  echo $x
done

Posixly, siempre puedes hacer:

x=0; while [ "$x" -le 6 ]; do
  printf '%02d\n' "$x"
  x=$((x + 1))
done

O

seq() (first=$1 last=$2 width=${3:-0} step=${4:-1}
  awk "BEGIN{for (i = $first; i <= $last; i += $step)
    printf \"%0${width}d\n\", i}"
)

unset -v IFS # make sure we get the default separator
             # for the split+glob invocation below
for i in $(seq 0 6 2); do
  echo "$i"
done

información relacionada