• ベストアンサー

テキストフィルの行の文字数順にソートしたいのですが・・・

テキストファイルの行単位での文字数が多い順や少ない順に ソートして並べ替えしたいのですが、その様なフリーソフトってないでしょうか? ベクターなども、見たのですが、Aからとかの昇り順と降り順しかないので・・・ もしかしたら見落としかもしれません・・・ -------------------------- honey shanshanmeimei loverzday artfree tfsq 上記の物を下記にしたいのです。 -------------------------- shanshanmeimei loverzday artfree honey tfsq -------------------------- この様に、文字数が多い順に並べ替えをしたいのです。 出来れば、少ない順も出来るソフトもあれば良いのですが・・・ よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • koma30007
  • ベストアンサー率87% (173/198)
回答No.5

NO.3の方が紹介したOpenOffice.orgのCalcを使った 方法です。 1.Bなどの空いている列に次を入力 =LEN(A1) ※A1に単語がある場合です。A2から入力されている 場合、B2など横の空いているセルに「=LEN(A2)」 2.上記を入力したセルを選択してコピー 3.B2以降のセル(A列に入力された単語の文字数カウント が必要な分)を選択して右クリック→「形式を選択して 貼り付け」 4.「すべて挿入」のチェックを外し、「数式」だけに チェックを入れた状態で「OK」 ※A列の横のセルに単語の文字数が入力された状態に なるはずです。 5.A列の単語とB列の文字数が入力されたセルを選択 6.「データ」→「並び替え」を実行 7.最優先キーに「列B」を選択して「降順」にチェック 8.「オプション」タブを選択して「並べ替え結果の 貼り付け先」だけにチェックをつける ※入力欄には「C1:D30」など、結果を貼り付けるセルを 指定後、「OK」 9.必要のない列を削除してから「テキストCSV」で 保存すると良いです。 10.テキストエディタで「"」「'」「,」など要らない 部分を削除(※置換機能を使うと楽です) ほとんどのテキストエディタでは、検索する文字列に 「要らない文字」、置換後の文字列を空欄で大丈夫な はず...(※メモ帳でも可能でした) ※ファイルの拡張子は、TXTが良ければ「名前の変更」で CSVからTXTに変更しても大丈夫です。

noname#138601
質問者

お礼

回答有り難う御座いました。 ズバリ!詳しい説明で出来ました! ここまで丁寧に回答して頂き誠に有り難う御座いました。

その他の回答 (4)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.4

>ですが・・・コードを書くとは、どこにどうやって書くのでしょうか? 実は、コンピュータにはもっと自由自在に自分のしたいコトを指示することができるのです。

参考URL:
http://www.ruby-lang.org/ja/
noname#138601
質問者

お礼

すいません・・・ まったくもって、拝見したHPは、意味が解りません・・・・ 何を、ど~すれば良いのか・・・・・

回答No.3

  Excelが無いなら手に入れましょう http://ja.openoffice.org/  

noname#138601
質問者

お礼

有り難う御座います! これでも、同じ事が出来るのですね! 今から、DLして来ます! 有り難う御座いました。

noname#138601
質問者

補足

お願いします。 >excelで読み込んで >=len(A1) >このように文字数を数える関数をB列に入れてB列で並び替え。 >後はB列を削除してtxt形式で保存してください やってみたのですが、なんどやっても、ABCDとかの文字順位になってしまいます・・ =len(A1)は、B列の一番上に一回だけ入力すれば良いのでしょうか? もうちょっと詳しくご教授下さい・・・ よろしくお願いいたします。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

古来からそういった作業は自分でコードを書けば解決です。 ruby -e 'puts ARGF.readlines.sort { |a, b| b.length <=> a.length }' inputfile.txt 少ない順にするのも明らかですね。

noname#138601
質問者

お礼

回答有り難う御座いました ですが・・・コードを書くとは、どこにどうやって書くのでしょうか? よろしくお願いいたします。

回答No.1

  excelで読み込んで =len(A1) このように文字数を数える関数をB列に入れてB列で並び替え。 後はB列を削除してtxt形式で保存してください  

noname#138601
質問者

補足

申し訳ありません・・・ excelが、無いんです・・・ 回答有り難う御座いました!

関連するQ&A