Флип или обратная линия в Notepad ++

Я хочу перевернуть линейные заказы документа с более 500 строк. Линии – это не просто цифры, некоторые включают текст и другие символы. Это смесь.

Пример:

 Линия 1
 Строка 2
 Строка 3
 Строка 4
 Строка 5
 Строка 6

Который я тогда хочу перевернуть, перевернуть и выглядеть так: снизу вверх:

 Строка 6
 Строка 5
 Строка 4
 Строка 3
 Строка 2
 Линия 1

Решение, не требующее другого программного обеспечения, кроме нормально включенного плагина TextFX:

  1. Изменить> Выбрать все
  2. TextFX> Инструменты TextFX> Вставить номера строк
  3. Если отмечена функция TextFX> TextFX Tools> + Sort по возрастанию, снимите флажок
  4. TextFX> TextFX Tools> Сортировка строк с учетом регистра (в столбце)
  5. TextFX> Инструменты TextFX> Удаление номеров строк или первого слова

Это также можно сделать в Notepad ++ без плагина TextFX. Он следует той же стратегии, что и принятого ответа, но использует собственные функции. Это делается следующим образом:

  1. Изменить> Выбрать все
  2. Редактировать> Редактор столбцов …> Выберите номер для вставки> Установить начальный номер в 1> Установить увеличение на 1> Проверить ведущие нули> Нажмите «ОК»
  3. Редактирование> Операции с линией> Сортировка строк в порядке убывания
  4. Удалите номера строк с помощью выбора любого окна (Alt + Left Click Drag или Alt + Shift Select) или Search / Replace

Если вам удобно компилировать 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"; Поэтому добавляется разрыв строки (опустите \r если вы находитесь в Unix / Linux).

Отказ от ответственности: я не тестировал этот код (я написал его очень быстро в «Блокноте»), но он выглядит жизнеспособным.

Ну, так как мы приводим примеры кода. Если вы находитесь в Windows 7 или вы установили Powershell на другую версию Windows, тогда:

 $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 

Вы можете сделать это онлайн на веб-сайте 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); } } } 

Использовать интерактивный доступный инструмент, который делает это щелчком

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

Вот некорректный способ:

  1. Скачать / Установить бесплатную пробную версию TextPad
  2. Откройте электронную таблицу (например, Excel) и создайте числа от 1000 до 1500 в столбце «A», поставив «1000» в ячейку A1, а затем положив A1 + 1 в ячейку A2, а затем скопируйте ее до A500.
  3. Откройте текстовый файл в TextPad
  4. Перейдите в «режим блокировки» в TextPad
  5. Вставить столбец A из таблицы в TextPad (все закончится на левом поле из-за блочного режима)
  6. Используйте функцию сортировки TextPad, по убыванию
  7. Используйте режим блока блока TextPad, чтобы избавиться от номеров

В более поздних версиях (мой – 6.8.6) вы можете сделать это, не используя расширения с помощью этого метода:

  1. Используя режим (alt-shift) column, выберите первый столбец вашего документа.
  2. Используя Edit-> Редактор столбцов (alt-c)
  3. В редакторе Column / Multi-Selection выберите Number to Insert from the Radio Box
  4. Установите начальный номер на 0 и увеличьте на 1, а ведущие нули должны быть проверены. Должно быть выбрано десятичное форматирование.
  5. Нажмите «ОК» и увидите столбец цифр, который добавит пробел, чтобы гарантировать, что числа в вашем документе не влияют на новый порядок строк.
  6. Выберите все строки, которые вы намереваетесь изменить, затем Edit-> Line Operations-> Sort Lines as Integations Decending
  7. Использование режима столбца позволяет удалить номера и дополнительное пространство в начале строк.

Если вы хотите автоматизировать это в блокноте ++ одним щелчком мыши:

  1. Получите этот плагин скрипта python
  2. Добавьте приведенный ниже код и сохраните его как .py-файл в папке сценария python (чтобы узнать местоположение этой папки, нажмите вкладку плагинов, затем скрипт Python и новые скрипты).

Вся слава Рекку Дикхарду !

Edit: добавить его в контекстное меню. Если вы нажмете на вкладку плагинов / скрипт / конфигурацию Python, вы можете назначить скрипт либо значку на панели инструментов, либо самому меню сценария Python. (Если вы назначаете скрипт в меню, то он будет отображаться сразу, но вы не сможете назначить ему ярлык до следующего запуска Notepad ++. Если вы присвоите его значку на панели инструментов, то он появится только на Следующий запуск Notepad ++.)

  • Каким образом можно использовать FTP и Notepad ++ (без использования встроенного FTP-сервера или FTP-клиента, такого как FileZilla)?
  • Notepad ++: как сбросить все настройки по умолчанию?
  • Как обернуть строки в Notepad ++ после N символов?
  • Как открыть большой файл в Notepad ++?
  • Найти повторяющиеся фразы - любой инструмент или регулярное выражение
  • Текстовый редактор в виде блокнота с автосохранением
  • Есть ли способ восстановить несохраненные документы notepad ++?
  • Найти CRLF в Notepad ++
  • Панель вкладок «Блокнот ++» скрывается
  • Как добавить «Открыть с помощью Notepad ++» (Portable) в контекстное меню Windows?
  • Блокнот ++ дергает
  • Давайте будем гением компьютера.