• ベストアンサー

条件付きソートができるエディタまたはプログラム

neKo_deuxの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

エディタは文章を書いたり編集したりするプログラムですから、 > ~に並べ替えたいのですが、 なんて事をすれば、まともな【文章】になりません。 まともなエディタならそういう機能は持たないでしょう。 例えば、質問文を並べ替えると、 -----ここから----- A-Z a-z あ-ん(「は」のように濁音と半濁音のある音は、はばぱの順) ア-ン(↑と同様) こんにちは。 に並べ替えたいのですが、このように条件がつけられるエディタ(無料)は無いでしょうか? ファイルの中身を またはプログラム(CまたはPerl)で実装できないでしょうか? よろしくお願いします。 漢字(あ-ん同様) 記号(。、<>「」など) 教えていただけると助かります。 -----ここまで----- とか。 プログラムも作れるでしょうが、Excelなんかにコピペして並べ替えるのが簡単だと思います。

sou-e9
質問者

補足

回答ありがとうございます。 確かに言われてみればそうですよね・・・。 Excelでもできるのですね。 ただ、並び替えたいもののデータ量がかなり大きい(1G近くある)ことと、下の方の補足でも書いたように、1行の中に半角スペースやtab文字も入っているのですが、Excelでも大丈夫でしょうか?

関連するQ&A

  • お勧めのエディタを教えてください。

     掲題のとおり、お勧めのエディタ・お勧めの使用方法等ありましたら、教えてください。以下のような優先順を設定しています。 1. 無料であること。 2. 検索/置換/ルーラー表示等、一般的な機能はあること。 3. 背景色・文字色等が任意設定できること。 4. 選択範囲のうち、全角英数/英記号(0-9, =, -, 括弧, a-z, /等)のみを半角に1回の操作で変換できること。正規表現を利用してもよい。 5. 選択範囲のうち、半角カタカナのみを全角に1回の操作で変換できること。正規表現を利用してもよい。  2, 3については多くのエディタで実装されているので、実質的には、1, 4, 5が主要な障害になると思います。当方は秀丸・サクラ・EmEditorの使用経験がありますが、一長一短です。 H: 秀丸の欠点 H1: 長期にわたって無料で使用できない。 S: サクラエディタの欠点 S1: 全角から半角に変換する場合に、英数字のみの半角化は可能だが、括弧が変換されない。 E: EmEditorの欠点 E1: 全角から半角に変換する場合に、空白・カタカナ・句読点まで半角になってしまう。  現状では、サクラエディタで、英数字のみ半角化した後、置換機能で括弧を半角に変換することにしています。それ以上に簡便な方法がありましたら、教えていただくと幸いです。

  • 日本語環境下でのバックスラッシュの表示

    Perlの勉強を始めたばかりのものです。Windows Me環境でエディタを使ってPerlのプログラムを書きたいのですが、バックスラッシュが「¥」の記号になってしまい、どうすればいいのかわかりません。日本語環境下で半角のバックスラッシュを表示する方法を教えてください。

    • ベストアンサー
    • CGI
  • perlでテキストから顔文字を抽出するプログラム

    テキストファイルから顔文字を抽出するプログラムを作りたいのですが、行き詰まっています。 一応、正規表現の内容としては、 半角と全角の括弧と前後の記号っぽいものを抽出し、 括弧の中身が「3文字以上半角英数字/全角文字列が続かないもの」という条件で、 抽出すれば上手くいくのかなぁと考えているのですが、上手くperlで表現できていない状態です。 どなたかプログラムに詳しい方で、ソースを記述できる方がいれば、よろしくお願いいたします。

  • 日本人の名前かアルファベットかをperlで判定する

    csvファイルを読み込んで、その中の名前欄がアルファベットか、あるいはそうではない(ひらがな、かたかな、漢字)かを判定するPerlプログラムを作ろうとしました。 if ( $name =~ /[A-Z]+/ ) とかすると、日本の名前でもアルファベットの名前でもヒットしてしまいます。 コードの問題かと思い、 https://tutorial.perlzemi.com/blog/20091118124667.html に従って perlコードをUTF-8で保存し、 読み込んだ名前文字列は $name = decode('UTF-8', $name); してみたのですが、やはり日本の名前の半数近くがヒットしてしまいます。 どうすればよろしいでしょうか。

    • ベストアンサー
    • Perl
  • 何故アエイオウでなくアイウエオなのですか

                  何故アエイオウでなくアイウエオなのですか  外国人とくにアジア人はアイウエオをアエイオウと発音する。なぜかと聞くとアエイオウが正しいという。なぜ正しいのか。昔から。そんなものか。そんなものだ。何か理由があるはずだ。  考えてみればアエイオウのほうが発音しやすい。母音調和からしてアはイエと調和するがウオとは調和しない。オはウと調和するがイエとは調和しない。実際に発音すると口の移動距離がわかる。調和するのは短く、不調は長い。東京特許許可局が発音しづらいのは toukyou tokkyo kyoka kyokuと促音が連続することののほかにオからアへの下顎の移動が難しいからであろう。 母音調和の観点からすれば、確かにアエイオウのほうが発音しやすい。これを50音順にすべきでないか。文部省は国民の利便性を考えろ、文部大臣の答弁を求める。 とくに幼児期ではアエイオウのほうがはるかに優しい。小学校で習ったアイウエオは何であったか。何故にアイウエオの順なのか。合理的理由は見当たらない。これは調べてみる必要がある。 以上の次第で調べてみましたがこれというものは見当たりませんでしたのでどなたか合理的理由を教えてください。 【参考】 ちなみに50音図は、日本語の音韻構造を明確にするために、漢字の反切表(漢字の音韻を研究するための表)や、悉曇学(しったんがく、梵語つまりサンスクリット語を研究する学問)の音韻表を参考にして、カタカナの選定とほぼ同時に作られたものと思われます。 この50音図とカタカナを作る段階で、音韻の研究から濁音と半濁音を「゛」と「゜」で表す、日本独特の表記法が発明されたのではないでしょうか。 したがって50音図はカタカナで書くのが本来で、「いろは歌」はひらがなで書くのが本来でした。http://www.snap-tck.com/room04/c01/nihon/nihon04.html  アイウエオの縦の順 これもアイウの三大母音を前に、グナ(エ音)ブルディ(オ音)を後に、というサンスクリットの順にしたがっています。http://okwave.jp/qa/q7194674.html 仮名を表に並べるには、行と段(列)の二つの自由な要素がある。段を「あいうえお」と並べる必然性は特になく、「いえうおあ」でも「うおあえい」でもいいわけである。列にも同じことがいえる。実際、過去の文献の中には五十音を現在とは全く異なる配列に並べたものも見出される。現在の配列になったのは室町時代以後である。http://ja.wikipedia.org/wiki/%E4%BA%94%E5%8D%81%E9%9F%B3

  • 正規表現についての質問です。

    正規表現につての質問です。 今テキストファイルに下記のような漢字と数字が並んでいます。 そこから、漢字一文字だけの行を抜き出してきたいのですが、うまくいきません。PerlとCygwinを使用しています。よろしくお願いします。 人584504122 情報542701982 商品510342870 日414551872 方347990908 者347069359 中339925319 表示330177395 的324961911 私323727263 検索291502623 見ル285226619 場合275698771 一256241900 利用253752129 年240881734 時239273060 前228762989 店225241510 登録224560617   ・   ・    ・ プログラム中身 #! /usr/bin/perl -w #テキストから指定した単語などとマッチすると、 #その単語を含んだ文を抜き出してくる。 while(<>){ s/ +//g; s/\s+//g; if(/^([亜-煕]|[一-龠]){1}[0-9]*/){ print; print "\n"; } }

  • 正規表現について

    正規表現につての質問です。 今テキストファイルに下記のような漢字と数字が並んでいます。 そこから、漢字一文字だけの行を抜き出してきたいのですが、うまくいきません。PerlとCygwinを使用しています。よろしくお願いします。 人584504122 情報542701982 商品510342870 日414551872 方347990908 者347069359 中339925319 表示330177395 的324961911 私323727263 検索291502623 見ル285226619 場合275698771 一256241900 利用253752129 年240881734 時239273060 前228762989 店225241510 登録224560617   ・   ・    ・ プログラム中身 #! /usr/bin/perl -w #テキストから指定した単語などとマッチすると、 #その単語を含んだ文を抜き出してくる。 while(<>){ s/ +//g; s/\s+//g; if(/^([亜-煕]|[一-龠]){1}[0-9]*/){ print; print "\n"; } }

  • ソートプログラム

    基本的なソートプログラムを何個か書いています。(直接選択法、バブル、クイックetc・・) 1000個の値を乱数で発生させ、100回、200回、300回、・・・と入れ替えを行った値を出力したいのですが、どうしたらよいか分かりません。 どなたか教えてください。

  • Sortプログラムについて2

    えっと、前回もSortのプログラムについて、質問させていただいたのですが、このプログラムでは、二つのファイルを使ってソートしてるのですが、一つのファイルだけを使って、それに上書きするためにはどうするればいいでしょうか? 下に、ソースを貼っておきます。 #include <iostream> #include <fstream> #include <list> #include <string> using namespace std; int main() { char Str[255]; list<string> str; int count = 0; ifstream in("ttest", ios::binary | ios::in); if (!in){ cout << "入力ファイルが読み込めない" << endl; exit(1); } ofstream out("out", ios::binary | ios::out); if (!out){ cout << "出力ファイルが読み込めない" << endl; exit(1); } while (!in.eof()){ //!!!! in.getline(Str,255); str.push_back(Str); count++; } str.sort(); list<string>::iterator p; p = str.begin(); while(p!=str.end()){ out << *p << endl; p++; } in.close(); out.close(); getchar(); return 0; } よろしくお願いします。

  • Sortプログラムについて

    自分で作成したプログラムなのですが、ソートしたあと、出力ファイルに書き込みたいのですが、書き込めません。 どこが、悪いのかわからないので教えてください。 ところどころに、出力がありますが、それはトレースしたやつなので、それはほっといてくださって構いません。 下にプログラムを載せます。 よろしくお願いします。 #include <iostream> #include <fstream> #include <list> #include <string> using namespace std; int main() { char Str[255]; list<string> str; ifstream in("ttest", ios::binary | ios::in); if (!in){ cout << "入力ファイルが読み込めない" << endl; exit(1); } ofstream out("out", ios::binary | ios::out); if (!out){ cout << "出力ファイルが読み込めない" << endl; exit(1); } while (!in.eof()){ //!!!! in.getline(Str,255); str.push_back(Str); } str.sort(); list<string>::iterator p; p = str.begin(); while (!in.eof()){ cout << *p; out << *p++; } in.close(); out.close(); getchar(); return 0; }