[前の記事]« WinNTやXPのATコマンドはWin98SEでも使える?
[次の記事][Win3.1]シリアル接続のモデムの設定方法 »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「FIND,FINDSTR,SORT…テキストファイル内文字列の操作」索引へ

SORT:降順でソートした結果をファイルに保存したい


550) SORTについて あゆたん♪困ってます! 2003/08/16(土) 06:22


*********************OS windows2000SERVER
おはようございます!!!どうぞ宜しくお願いいたします。

テキストファイルの中身を降順でソートをしたいと
思います。
SORT /R test.txt
とやっても昇順になってしまいます。

テキストの中身は、

D:\test\12348
D:\test\12347
D:\test\12346
D:\test\12349
D:\test\12343
こんな感じなんです。

ちなみに、プロンプトで実行すると、実行結果は
降順の形で結果として表示されます。そのとき
同時にそのファイルの中身をみると、降順されていません。

不思議なきがしてなりません。
どうか教えてください。
宜しくお願いします。



551) Re:SORTについて 算譜瑠 2003/08/16(土) 21:29


あゆたん♪ さん、みなさん、こんにちは(^o^)ノ


>ちなみに、プロンプトで実行すると、実行結果は
>降順の形で結果として表示されます。そのとき
>同時にそのファイルの中身をみると、降順されていません。

 どういう意味なのかかなり長いこと考えこんでしまいました。
 幾つか確認しないと状況が良くわかりません。

 まず上の「同時にそのファイルの中味をみると」の「そのファイル」とはどのファイルのことでしょうか?
 もし、それが、test.txt のことであれば、書き変わっていないのは当然のことで、sort の結果を、何か別のファイルに書き込まなければ、sortの結果はどのファイルにも残りません。
 sort /R test.txt > sorted.txt
とすれば、結果が sorted.txt に入るはずですが、そうならないと言うことなのでしょうか??

 それから、「プロンプトで実行すると」ということは、実際には、プロンプトで実行しているのではないということですよね? どういう形で実行しているのでしょうか? そういう状況をもう少し詳しく説明していただけると、コメントも付きやすいと思います。


ではまた(^o^)/~~~


553) Re2:SORTについて あゆたん♪困ってます! 2003/08/17(日) 10:27


算譜瑠さんありがとうございます。

超初心者で、ファイルに書き出すイメージが中途半端に
わかっていました。説明もへたでごめんない。

c:\> sort /r test.txt   で、ファイルそのものが
ソートされるんだと思ってました。
画面上だけ実行されるというイメージでいいんでしょうか?
c:\> sort /r test.txt >>test1.txt だと
ソート結果がtest1.txtに吐き出されるということですね。

もう少し自分でもヘルプをみながらやってみます。

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



554) Re3:SORTについて 福田 2003/08/17(日) 14:16


あゆたん♪困ってます! さん こんにちは

>c:\> sort /r test.txt >>test1.txt だと
^^
ここはリダイレクトの指定です

  >test1.txt ならば test1.txtは新規に作成される(同名ののファイルがあった場合、既存のファイルは削除される)
  >>test1.txt ならば、test1.txtに追加書き込みされます



557) Re3:SORTについて 算譜瑠 2003/08/18(月) 20:57


あゆたん♪さん、みなさん、こんにちは(^o^)ノ

>c:\> sort /r test.txt   で、ファイルそのものが
>ソートされるんだと思ってました。

 あ~そういうことでしたか。SORT は一種のフィルタですから基本は標準入力からのデータを処理して標準出力に出力するという形です。引数にファイル名を指定すれば、標準入力からではなく、 そのファイルから入力を行いますが、これはまあ TYPE FILENAME.TXT | SORT と書く手間を多少省いて SORT FILENNAME.TXT と書けるようにしたようなものです(^^;;;
 ですから、出力は、標準出力、すなわち画面上に出るのが基本ですね(^^)

>c:\> sort /r test.txt >>test1.txt だと
>ソート結果がtest1.txtに吐き出されるということですね。

 標準出力へ出された出力をファイルに持って行くにはリダイレクトという事をします。それを行うのが > かもしくは  >> です。
 福田さんが書いておられるように > はもし同名のファイルがあった場合にはもとの内容は失われます。>> の方は、もとのファイルの最後に書き加えます。
 従って、上の記述ですと、もとからあるTEST1.TXT の最後に、SORT /R TEST.TXT の結果が書き加えられます。TEST1.TXT がなければ、新規に作成されます。
 結果がTEST.TXT に欲しいなら、いったん別ファイルに書き出してから、もとのファイルを消して、別ファイルをリネームするなど、幾つかステップをかけることになるでしょう。


ではまた(^o^)/~~~
2003/08/17(日) 20:00 算譜瑠 ヨリ
 
 


カテゴリー「FIND,FINDSTR,SORT…テキストファイル内文字列の操作」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2003年08月16日 16:23に投稿されたエントリーのページです。

ひとつ前の投稿は「WinNTやXPのATコマンドはWin98SEでも使える?」です。

次の投稿は「[Win3.1]シリアル接続のモデムの設定方法」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート