각 폴더 이름에 최소 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