ちょっと先の未来クイズ第4問

お世話になります。

dosバッチを利用して、1桁と2桁が混ざった数字を昇順にソートしたいのですが、ただ単にsortで行うと2桁のものはソートされますが、1桁のものはところどころ違う場所に入ってしまいます。

1桁の数字と2桁の数字を分けてソートして後でファイルを合わせたらいいのかとも思いましたが、バッチで1桁と2桁を分ける方法が見つかりません。(探し方が悪いのかと思いますが)

どなたか教えていただけるとありがたいです。

A 回答 (3件)

Windows標準のsortコマンドでは、文字列としての比較でソートするので、数字としての比較は出来ません。

文字としての大小は、
0 < 1 < 10 < 11 .. 19 < 2 < 20 < 21 ...

案1:非標準のソートツールをインストールする
案2:全部2桁に変換してからソートする
    • good
    • 0
この回答へのお礼

回答ありがとうございますm(_ _)m
やはりできないという事で、頭に0をつけてソートさせてから
外すように考えてできました。

ありがとうございました。

お礼日時:2008/06/11 23:39

notnot さんの通りだと思います。


正規表現の使えるエディターを使うのが、良いと思います。
K2Editor
http://www.vector.co.jp/soft/win95/writing/se126 …
秀丸エディタ
http://hide.maruo.co.jp/software/hidemaru.html
正規表現サンプル集 置換編
http://hodade.adam.ne.jp/seiki/page.php?chapter_4
行頭に文字を追加する
http://hodade.adam.ne.jp/seiki/page.php?r_gyouto …
あと、Excelで、テキストファイルをインポート&エクスポート。
テキスト ファイルをインポートまたはエクスポート
http://office.microsoft.com/ja-jp/excel/HP100997 …
後は、Excelで加工して、エクスポートする。

参考URL:http://hodade.adam.ne.jp/seiki/
    • good
    • 0

数値としてsortする必要があります。



質問からは外れますがWindows環境で行なうならば
cygwinのsortコマンドで -g パラメータを使えば出来ます。
$ sort -g ファイル名
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報