os-x bash의 seq -w와 동일

os-x bash의 seq -w와 동일

각 폴더 이름에 최소 2자리 숫자가 포함된 00 01 02, ... n이라는 하위 폴더가 있습니다. os-x 터미널에서 이러한 하위 폴더에 액세스해야 합니다. 명령

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

의 출력을 생성합니다 0 1 2 3 4 5 6. 그러나 RHEL의 위 코드는 00 01 02 03 04 05 06. RHEL과 유사한 최소 2자리의 출력을 생성하도록 Mac 터미널을 강제하려면 어떻게 해야 합니까?

답변1

시도해 볼 수 있는 os-x가 없지만 아마도 다음 대안이 작동할 것입니다.

seq -f '%02.0f' 0 6

답변2

OS/X에는 가 포함되어 있으므로 zsh스크립트를 zsh대신 작성할 수 있습니다(이미 구문을 사용하고 있었습니다 zsh(에서 $i따옴표로 묶이지 않아 분할+glob 연산자를 호출함 bash).

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

Posixly는 언제든지 다음을 수행할 수 있습니다.

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

또는

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

관련 정보