文書の行順を500行以上にしたい。行は単なる数字ではなく、テキストや他の文字を含む行もあります。それは混在しています。
例:
[1] 1行目[2] 2行目[3] 3行目[4] 5行目[5] 6行目[5]
それを裏返して、下から上に向かってこのようにします。
[6] 6行目[5] 5行目[4] 3行目[3] 2行目[1] 1行目[1]
通常含まれているTextFXプラグイン以外の他のソフトウェアを必要としない解決策:
これはTextFXプラグインなしでNotepad ++でも行うことができます。それは、受け入れられた答えと同じ戦略に従いますが、ネイティブの機能を使います。それは以下のように行われます。
さて、私たちはコード例を示しているので、あなたが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
あなたが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
を省略します)。
免責事項:私はこのコードをテストしていません(メモ帳で素早く書いた)が、実行可能に見えます。
クリックでそれを行うオンラインで利用可能なツールを使用する
あなたはウェブサイト上でそれをオンラインで行うことができます http://textmechanic.co/Sort-Text-Lines.html
これは私が書いたそれのための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);
}
}
}
これは非コーディングの方法です:
あなたがワンクリックでメモ帳+ +上でこれを自動化したい場合は:
Reck Dickhard !に対するすべての栄光。
edit:コンテキストメニューに追加するには:pluginsタブ/ Python Script/Configurationをクリックすると、スクリプトをツールバーのアイコン、またはPython Scriptメニュー自体に割り当てることができます。 (スクリプトをメニューに割り当てるとすぐに表示されますが、次回Notepad ++を起動するまでショートカットを割り当てることはできません。ツールバーのアイコンに割り当てると、そのスクリプトはツールバーにのみ表示されます。次にメモ帳++を起動します。)