web-dev-qa-db-ja.com

メモ帳++での行の順序を反転または反転

文書の行順を500行以上にしたい。行は単なる数字ではなく、テキストや他の文字を含む行もあります。それは混在しています。

例:

[1] 1行目[2] 2行目[3] 3行目[4] 5行目[5] 6行目[5]

それを裏返して、下から上に向かってこのようにします。

[6] 6行目[5] 5行目[4] 3行目[3] 2行目[1] 1行目[1]
93
Danpe

通常含まれているTextFXプラグイン以外の他のソフトウェアを必要としない解決策:

  1. 編集>すべて選択
  2. TextFX> TextFXツール>行番号を挿入
  3. TextFX> TextFXツール> +昇順ソートがチェックされている場合は、チェックを外します。
  4. TextFX> TextFXツール>行のソートで大文字と小文字が区別される(列)
  5. TextFX> TextFXツール>行番号または最初の単語を削除
98
Gnubie

これはTextFXプラグインなしでNotepad ++でも行うことができます。それは、受け入れられた答えと同じ戦略に従いますが、ネイティブの機能を使います。それは以下のように行われます。

  1. 編集>すべて選択
  2. 編集>列エディタ...>挿入する数値を選択>初期値を1に設定> 1ずつ増加を設定>先行ゼロのチェック> OKをクリック

enter image description here

  1. 編集>行の操作>行を降順に並べ替える編集:最近の更新で追加の並べ替えオプションが追加されました。オプション:行を辞書順に並べ替える仕事をしているようです。

enter image description here

  1. ボックス選択(Alt +左​​クリックドラッグまたはAlt + Shift選択)または検索/置換を使用して行番号を削除します。

enter image description here

25
Trevor Young

さて、私たちはコード例を示しているので、あなたがWindows 7上にいるか、あなたが他のバージョンのWindows上にPowershellをインストールしたならば、それから:

$foo = New-Object System.collections.arraylist;
$foo.AddRange($(Get-Content 'C:\Path\To\File.txt));
$foo.Reverse();
$foo | Out-File C:\Path\To\File.txt

コード化されていない回答の場合は、 GVim をダウンロードしてファイルを開き、次のように入力します。

:g/^/m0
6
EBGreen

あなたがC++をコンパイルするのに慣れているなら、これはうまくいくはずです。基本的には、ファイルの各行をベクトルに入れ、逆反復子を使用して新しいファイルに出力します。

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

int main()
{
    std::vector<std::string> fileLines;
    std::string              currLine;
    std::ifstream            inFile("input.txt");
    if (inFile.is_open())
    {
        while (inFile.good())
        {
            std::getline(inFile, currLine);
            fileLines.Push_back(currLine);
        }
        inFile.close();
    }
    else
    {
        std::cout << "Error - could not open input file!\n";
        return 1;
    }

    std::ofstream outFile("output.txt");
    if (outFile.is_open())
    {
        std::vector<std::string>::reverse_iterator rIt;
        for (rIt = fileLines.rbegin(); rIt < fileLines.rend(); rIt++)
        {
            outFile << *rIt;
        }
        outFile.close();
    }
    else
    {
        std::cout << "Error - could not open output file!\n";
        return 1;
    }
    return 0;
}

出力ファイルの行間に改行がない場合は、outFile << *rIt;outFile << *rIt << "\r\n";に変更して改行を追加します(Unix/Linuxの場合は\rを省略します)。

免責事項:私はこのコードをテストしていません(メモ帳で素早く書いた)が、実行可能に見えます。

5
Breakthrough

クリックでそれを行うオンラインで利用可能なツールを使用する

http://www.miniwebtool.com/reverse-lines/

4
user674167

あなたはウェブサイト上でそれをオンラインで行うことができます http://textmechanic.co/Sort-Text-Lines.html

2

これは私が書いたそれのためのC#.NETコードです。

class Program
{
    static void Main(string[] args)
    {
        try
        {
            String line;
            Stack<String> lines = new Stack<string>();
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            using (StreamReader sr = new StreamReader("test.txt"))
            {
                // Read and display lines from the file until the end of
                // the file is reached.
                while ((line = sr.ReadLine()) != null)
                    lines.Push(line);
            }
            // create a writer and open the file
            TextWriter tw = new StreamWriter("test2.txt");
            // write a line of text to the file
            while (lines.Count > 0)
                tw.WriteLine(lines.Pop());
            // close the stream
            tw.Close();
        }
        catch (Exception e)
        {
            // Let the user know what went wrong.
            Console.WriteLine("The file could not be read/written:");
            Console.WriteLine(e.Message);
        }
    }
}
1
Danpe

これは非コーディングの方法です:

  1. TextPadの無料試用版をダウンロード/インストールします
  2. スプレッドシートプログラム(すなわちExcel)を開き、セルA1に "1000"を入れ、セルA2にA1 + 1を入れて列Aに1000から1500までの数字を作成し、それをA500にコピーします。
  3. TextPadでテキストファイルを開く
  4. TextPadで「ブロックモード」に変更
  5. スプレッドシートの列AをTextPadに貼り付けます(ブロックモードのため、すべて左端に配置されます)。
  6. TextPadのソート機能を使用して降順にする
  7. TextPadブロックモードの削除を使用して番号を削除します
0
Dale

あなたがワンクリックでメモ帳+ +上でこれを自動化したい場合は:

  1. このPythonスクリプトを入手する plugin
  2. 以下のコードを追加して、pythonスクリプトフォルダに.pyファイルとして保存します(このフォルダの場所を知るには、[プラグイン]タブをクリックし、[Pythonスクリプトと新しいスクリプト]をクリックします)。

Reck Dickhard !に対するすべての栄光。

edit:コンテキストメニューに追加するには:pluginsタブ/ Python Script/Configurationをクリックすると、スクリプトをツールバーのアイコン、またはPython Scriptメニュー自体に割り当てることができます。 (スクリプトをメニューに割り当てるとすぐに表示されますが、次回Notepad ++を起動するまでショートカットを割り当てることはできません。ツールバーのアイコンに割り当てると、そのスクリプトはツールバーにのみ表示されます。次にメモ帳++を起動します。)

0
JinSnow