- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Sortコマンド以外で行をソートする方法)
Sortコマンド以外で行をソートする方法
このQ&Aのポイント
- テキストファイル内の行をソートする方法を知りたい
- Sortコマンドを使っているがエラーが出てしまい、他の方法を試したい
- Windowsのコマンドプロンプトで使用可能な方法を教えてほしい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Perl だったらそれこそ print sort <>;
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
回答No.2
>扱うテキストファイルの内容によってエラーが出てしまい、エラーメッセージをWEBで検索して書かれていた対策をしたのですがうまく行きませんでした。 何が問題で、どんな対策をして、どのようにうまく行かなかったのかはあなたしか知らない。その情報を示されないと、回答しようがないです。 詳しい情報を・・ AWKにしろ、Perlにしろスクリプトを書いて実行させれば良いはずですし、SEDなどを使う方法もあるでしょう。
質問者
お礼
ご回答、ありがとうございます。 エラーメッセージをメモしたファイルがあったのですが、Sortコマンドは諦めるつもりだったので削除してしまいました。 ですので、正確なエラーメッセージはわかりませんが、覚えている限り、LC_ALL='C' を付けろといった内容だったと思います。 ですので、取った対策としましては、バッチファイル中に「set LC_ALL=C」を指定して再試行しました。他にもいくつか環境変数を試したと思いますが、どれをやっても駄目だったので諦めました。 バッチファイルで行っている動作は、複数の動的なWEBページをダウンロードして、一つのファイルに結合し、そこから必要な行だけを取り出し、その後Sortコマンドでソートするといった内容です。ですので、扱うファイルの内容は毎回異なります。 やはり、AWKやPealやSEDでも、書き方次第で同様の動作は出来るのですね。工夫してやってみようと思います。 ご回答、本当にありがとうございました。
お礼
ご回答ありがとうございます。 お教え頂いた方法を試しましたところ、見事にソート出来ました。 ありがとうございました。Perlだとこんなに簡単に出来るのですね。 逆順のソートも、Perl関連のWEBページを見て今試しているのですが、改行が一箇所削除されてしまう現象が起きまして、それはどうにか自分で調べて解決しようと思います。 大変参考になりました。 ご回答、本当にありがとうございました。
補足
以下の書き方で、無事に目的の動作が出来ました。 ありがとうございました。大変助かりました。 【昇順でソート} perl -e "print sort <>;" in.txt > out.txt 【降順でソート} perl -e "print reverse sort <>;" in.txt > out.txt