No.3ベストアンサー
- 回答日時:
並べ替える単位は1行ごとの文字コードの大小順であって
お望みの順序とは違うかもですが、
例えば DOS プロンプトにある SORT でソートできます。
コマンドプロンプト または DOS画面で
TYPE INFILE.TXT | SORT > OUTFILE.TXT
または
SORT <INFILE.TXT >OUTFILE.TXT
後者の方が実行時間は早いみたいです。
回答ありがとうございます。
>並べ替える単位は1行ごとの文字コードの大小順であって
>お望みの順序とは違うかもですが、
>例えば DOS プロンプトにある SORT でソートできます。
SORTでやったら、私のやりたかった並び替えを実現することができました!
どうやら文字コード順でよかったみたいです。
ありがとうございました。
No.4
- 回答日時:
>Perl自体あまり得意ではないので
Perlはそれに反して、この手の処理はとても得意です。
データ自体が分からないとヒントだけになります。
1GBとなると、そこそこのサイズになりますからすべてを読み込ませて処理するよりは一行ずつ処理するほうが楽でしょう。
先日回答した「pealを用いたcsvファイルの抽出( http://oshiete.goo.ne.jp/qa/8885727.html )」がヒントになるでしょう。
open(IN,in.txt);
でファイルハンドルを指定して
while(<IN>){
正規表現をもちいて、配列の配列に格納
}
で、
(
(インターネット,TV,2340,行番号)
(インターネット2,DVD,1450,行番号)
(インターネット,CD,2560,行番号)
)
できた配列の配列をsort函数を使ってソートして、最終的に行番号だけのリストを作ります。
@LIST = (256,124,5,9845・・)
そしたら、
while(<@LIST>){
while(@IN){
print OUUT;
}
}
とかで書き出す。
open(SORTED,in.txt);
回答ありがとうございます。
私のやりたかった並べ替えは文字コード順だったようなので、プログラムを作らなくても一応できるということが分かりましたが、他にも文字列を扱うことが多々あるので、Perlの勉強をしなくてはなと改めて思いました。
ありがとうございました。
No.2
- 回答日時:
エディタは文章を書いたり編集したりするプログラムですから、
> ~に並べ替えたいのですが、
なんて事をすれば、まともな【文章】になりません。
まともなエディタならそういう機能は持たないでしょう。
例えば、質問文を並べ替えると、
-----ここから-----
A-Z
a-z
あ-ん(「は」のように濁音と半濁音のある音は、はばぱの順)
ア-ン(↑と同様)
こんにちは。
に並べ替えたいのですが、このように条件がつけられるエディタ(無料)は無いでしょうか?
ファイルの中身を
またはプログラム(CまたはPerl)で実装できないでしょうか?
よろしくお願いします。
漢字(あ-ん同様)
記号(。、<>「」など)
教えていただけると助かります。
-----ここまで-----
とか。
プログラムも作れるでしょうが、Excelなんかにコピペして並べ替えるのが簡単だと思います。
この回答への補足
回答ありがとうございます。
確かに言われてみればそうですよね・・・。
Excelでもできるのですね。
ただ、並び替えたいもののデータ量がかなり大きい(1G近くある)ことと、下の方の補足でも書いたように、1行の中に半角スペースやtab文字も入っているのですが、Excelでも大丈夫でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 【プログラミングScratch】で音楽を演奏するプログラムを短時間でつくる方法 2 2023/07/02 07:50
- Excel(エクセル) Excelで漢字人名が勝手に並び変わる(続) 4 2023/03/21 21:28
- スピーカー・コンポ・ステレオ スピーカーが欲しくなったのですが知識がないので皆さんの知恵をお借りしたいです。 有線、無線かは問いま 1 2022/06/15 17:58
- 画像編集・動画編集・音楽編集 YouTubeを録音できるソフトを教えてください。 5 2023/02/12 10:19
- 物理学 うちわ太鼓 2 2023/05/29 23:13
- フリーソフト HyperCam2 1 2023/08/05 22:59
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- カスタマイズ(車) カーオーディオの音質について ボルボFB型V60に乗っています。2015年モデル。 オーディオの音質 2 2023/03/22 06:25
- 工学 音声合成を追加 3 2023/01/30 11:52
- その他(占い・超常現象) 夢占い(またはスピリチュアル)について、 ご回答お願い致します。 昨日不思議なことがあり、同じ日に現 5 2023/04/27 01:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCSVファイルの特定行を書...
-
ReadLineでの読み出し行を指定する
-
VBAで巨大なファイルの途中から...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
エクセルVBA コードが同じでも...
-
openした後、closeしないでプロ...
-
ADOによるCSVファイルからのデ...
-
拡張子 ”log” と ” dat” の違い
-
perlにて2つのファイル比較
-
MATLAB グローバル変数の宣言
-
VB6.0でDB接続する際に切断時の...
-
アクセスカウンターでデータが...
-
window.open でのファイル指定方法
-
awkスクリプトでダブルクォーテ...
-
htaccessで特定のディレクトリ...
-
fopenでディレクトリ内の全ファ...
-
ファイル出力の改行コードをLFに
-
エクセルVBAで素数だけを出力す...
-
fgets で値が取得できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCSVファイルを途中行まで...
-
VBAで巨大なファイルの途中から...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルの特定行を書...
-
openした後、closeしないでプロ...
-
ReadLineでの読み出し行を指定する
-
エクセルVBA コードが同じでも...
-
csvファイル改行コードの置換に...
-
Perlの変数に文字数制限(容量...
-
perlにて2つのファイル比較
-
C言語でのファイルのデータ更...
-
JavaでCSVファイルを高速に読む...
-
VB6.0でDB接続する際に切断時の...
-
MATLAB グローバル変数の宣言
-
alarmのタイムアウト後の処理で...
-
DBMとテキストファイルのどちら...
-
perlで、後ろの行を読んで、前...
-
拡張子 ”log” と ” dat” の違い
-
5行おきに5行ずつ抽出するに...
-
テキストデータから指定した1...
おすすめ情報