ASCII値を比較するためのBashスクリプト[閉じる]

ASCII値を比較するためのBashスクリプト[閉じる]

質問がありますか?

#!/usr/local/bin/bash

REF_FILE_NUM="000000010000001900000052"

for id in `ls -1 dir` ;
 do
 FILE_NUM=${id:0:24}
 echo "FILE_NUM: $FILE_NUM ; REF_FILE_NUM: $REF_FILE_NUM"

 if [[ "$FILE_NUM" < "$REF_FILE_NUM" ]]
 then
    echo "$FILE_NUM lt $REF_FILE_NUM"
    echo ""
 else
    echo "$FILE_NUM gt $REF_FILE_NUM"
    echo ""
 fi

 done
freebsd# ./test.sh
FILE_NUM: 0000000100000019000000FF ; REF_FILE_NUM: 000000010000001900000052
0000000100000019000000FF gt 000000010000001900000052

FILE_NUM: 0000000100000020000000FF ; REF_FILE_NUM: 000000010000001900000052
0000000100000020000000FF gt 000000010000001900000052

FILE_NUM: 0000000100000021000000FF ; REF_FILE_NUM: 000000010000001900000052
0000000100000021000000FF gt 000000010000001900000052

ベストアンサー1

すべては結局

[[ F > 5 ]] && [[ 2 > 1 ]]

ASCIIではF70(0x46)5ですが。

どのような結果を期待し、その理由は何ですか?

おすすめ記事