プロが教えるわが家の防犯対策術!

固定長ファイルの特定桁、例えば 2桁目~6桁目と10桁目~15桁目をキーにしてソートするにはどうすればよいのでしょうか?

A 回答 (2件)

Ano.1の続き。


sortはOSによって拡張機能がどう入っているのかが違うので、オンラインマニュアル等で確認してください。
もし、レコード毎に改行が入っているのなら、これでいけます。

sort -k 1.2,1.6 -k 1.10,1.15 ファイル名
solarisのsortでの場合ですが。
比較の際に辞書式順序、数値として比較、大文字小文字無視などのオプションを指定することもできます。

この回答への補足

早々のご回答ありがとうございました。
大変助かります。
-kオプションの フィールドはホワイトスペースで勝手に区切られてしまうという固定観念があったので manで読み飛ばしてしまっておりました。

OSはhp-uxです。←明記しなくてすいませんでした。

補足日時:2006/07/03 17:16
    • good
    • 0

そもそもunixのsortコマンドはテキストファイルを並べ替えるものなので、固定長ファイルは扱えません。


専用のソートプログラムをCなどで自作する必要があります。
あるいは、一旦1レコード1行に対応するテキストファイルに変換して並べ替えて元に戻すようなややこしいことをするか。。。。

ただ、そのファイルが、テキストファイルで行末に改行が入っているのなら、sortコマンドで扱える可能性がなきにしもあらずですが。

この回答への補足

固定長ですが、行末に改行が入っています。

補足日時:2006/07/03 16:56
    • good
    • 0

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