Как удалить каждую вторую строку в блокноте

Обновлено: 21.11.2024

Из-за ^p или \p это работает только для файлов с окончанием строки DOS (CR+LF). См. в справке по UE/UES страницы команды «Найти» или «Заменить» и «Регулярные выражения», чтобы понять это.

Спасибо, работает отлично, ожидайте, что последняя строка не удаляется, но ее легко удалить.

  • Удалить каждую последнюю/первую строку?
  • Удалить каждую третью строку?
  • Дублировать каждую строку?

Последняя строка всегда должна иметь crlf для правильной работы.
1.: Используйте «ВЕРХ», «НИЗ» и «УДАЛИТЬ» в макросе UE, чтобы выполнить эту работу.
2.: Также макрос UE со стрелкой вниз + линия удаления + "петля EOF". Легкий.
3.: Также тривиальный макрос UE со стрелкой вниз и повторяющейся строкой.

Спасибо, Бего. Но у меня не работает ни один из ваших советов. :?

Можно ли сделать это с помощью функции "регулярное выражение"?

Нет. регулярные выражения хороши для поиска/замены в LINE, а не для навигации по файлу.

Попробуйте следующее:
Создайте макрос под названием "delTopBottom"
Вставьте следующие строки:

Позвольте ему работать с файлом примера. Это должно сделать вашу проблему нет. 1

Еще раз спасибо, Бего. Но это даже сейчас не работает.

Я выяснил, что они могут выполняться только в верхней части документа, также необходимо использовать «Воспроизвести макрос до конца файла»:

<р>1. Удалить каждую последнюю/первую строку

<р>3. Дублировать каждую строку (не работает - не дублируется первая строка и макрос бесконечно повторяется)

Как удалить каждую вторую строку в текстовом файле?

Это небольшой макрос, который должен удалять каждую вторую строку в файле, но в начале останавливается.

Команда MoveLineDown перемещает не только курсор вниз, но и всю строку вниз. И вы выходите из бесконечного цикла после удаления 1 строки, потому что ExitLoop находится внутри цикла без каких-либо условий.

В действительности для этого задания макрос не нужен, так как это можно сделать и с помощью одной замены регулярного выражения. Однако вот макрос.

InsertMode
ColumnModeOff
HexOff
UnixReOff
Bottom
IfColNumGt 1
"
"
IfColNumGt 1
DeleteToStartofLine
EndIf
EndIf
Top
Find RegExp "%^(*^r++^n^)*^r++^n"
Replace All "^1"< /p>

Этот макрос должен работать для файлов с окончанием строки DOS или UNIX, но определенно не для файлов MAC.

Откройте меню замены, введите ([^\n]*\n)[^\n]*\n в поле «Найти» и $1 в поле «Заменить на». Затем выберите регулярное выражение для режима поиска, нажмите «Заменить все», и каждая вторая строка будет удалена.

Как удалить строки, начинающиеся с определенного текста в Notepad++?

Короче говоря, зайдите в поиск, используйте свое регулярное выражение, отметьте «отметить строку» и нажмите «Найти все». Это приводит к закладкам для всех этих строк. В меню поиска есть пункт «удалить отмеченные строки» вуаля.

Как удалить строку в блокноте?

<р>1. Ctrl + L обрежет линию. Ctrl + Shift + L удалит строку (т.е. не скопирует ее в буфер обмена).

Как выделить каждую вторую строку?

Если вы хотите выделить каждую вторую строку во всем документе, нажмите ⌘ Command + A на клавиатуре.

Как удалить из текстового файла все строки, содержащие определенную строку?

Используйте команду grep, чтобы удалить строку, содержащую указанную строку. Команда Grep, мы используем ее больше для соответствия указанной строке в текстовом файле. Поскольку его можно сопоставить, его также можно исключить, вам нужно использовать параметр grep -v.

Как удалить всю текстовую строку?

Есть ли сочетание клавиш для удаления всей строки текста?

  1. Поместите текстовый курсор в начало строки текста.
  2. На клавиатуре нажмите и удерживайте левую или правую клавишу Shift, а затем нажмите клавишу End, чтобы выделить всю строку.
  3. Нажмите клавишу Delete, чтобы удалить строку текста.

Как избавиться от регулярных выражений в Блокноте?

Перейдите в меню поиска, Ctrl + F, и откройте вкладку "Отметить". Отметьте строку «Закладка» (если нет обновления вкладки «Отметить» до текущей версии). Все строки, содержащие поисковый запрос, помечаются закладками. Сделанный. Другой способ сделать это в Notepad++ — все в диалоговом окне «Найти/Заменить» и с помощью регулярного выражения: Ctrl + h, чтобы открыть диалоговое окно поиска замены.

Есть ли способ удалить все строки в Блокноте?

Как удалить текст перед символом в Блокноте?

1 Ctrl + F 2 Нажмите "Заменить" 3 Найдите что: .+ (\\X) 4 Замените своим текстом

Можно ли использовать регулярные выражения в Notepad + +?

Один из основных недостатков использования регулярных выражений в Notepad++ заключался в том, что он плохо обрабатывал символы новой строки, особенно при замене. Теперь мы можем использовать расширенный режим поиска, чтобы компенсировать этот недостаток.

Как удалить все комментарии в Notepad++?

  1. Меню ПОИСКА Notepad++ > Найти.
  2. Выберите «Отметить все» (снимите все отметки, если они использовались ранее).

Как удалить несколько строк в NotePad++?

Кроме того, CTRL + K хорошо работает в Notepad++ для комментирования. Если у вас уже есть комментарии в длинном блоке, который вы комментируете, CTRL + Q раскомментирует ваши фактические комментарии, где CTRL + K просто добавит еще один уровень // впереди. CTRL + SHIFT + K удаляет однострочный комментарий из выделения.

Как удалить определенные строки в Notepad + +?

Меню «Поиск» -> «Найти…» -> вкладка «Отметить» -> «Найти что»: текст поиска, отметьте «Строка закладок», затем «Отметить все». Это сделает закладку для всех строк с поисковым запросом, вы увидите синие круги на полях. Затем меню «Поиск» -> «Закладка» -> «Удалить отмеченные строки». Это приведет к удалению всех отмеченных строк. Вы также можете использовать регулярное выражение для поиска.

Как добавить текст в конец строки в Блокноте?

Вы можете автоматически сделать это в Notepad++ (добавить текст в начале и/или конце каждой строки), используя одно регулярное выражение в Заменить ( Ctrl + H ): Объяснение: Выражение $1 в Заменить при вводе обозначает все символы, которые включите круглые скобки (.*) в Find what регулярное выражение.

Чтобы удалить текст перед символом (например, дефисом), используйте $2 в поле замены: Найдите что: (.+)\\s*-\\s* (.+) Чтобы удалить замыкающий и/или начальные пробелы в каждой строке текстового файла, используйте меню «Операции с пустыми страницами».

Как удалить закладку в Блокноте?

Блокнот++ версии 6.5. Меню «Поиск» -> «Найти…» -> вкладка «Отметить» -> «Найти что»: текст поиска, отметьте «Строка закладок», затем «Отметить все». Это сделает закладку для всех строк с поисковым запросом, вы увидите синие круги на полях. Затем меню «Поиск» -> «Закладка» -> «Удалить отмеченные строки». Это приведет к удалению всех отмеченных строк. Вы также можете использовать…

Я хочу, чтобы вывод выглядел так: каждая вторая строка будет удалена, но между строками не будет пробела.

Вы хотите удалить каждую вторую строку или все строки, содержащие "Ошибки не произошло"? Что, если в двух последовательных строках было "Ошибка не произошла"?

@user1598390 Я думаю. в этом случае grep -v "Ошибка не произошла" эта команда должна работать. что ответил @paul. В выходном файле не будет строк, содержащих «Ошибки не произошло» в этой части.

10 ответов 10

Решение этой проблемы путем удаления каждой второй строки может привести к ошибкам (например, когда процесс иногда создает две значимые строки вместо одной). Может лучше отфильтровать мусор:

Он может работать как фильтр, вы можете добавить сюда больше шаблонов мусора и улучшить результат.

Если у вас более старый awk (например, oawk ), вам необходимо:

будет редактировать файл на месте.

  • g отметить глобальную команду
  • /$/ соответствует каждой строке
  • +d удалить следующую строку
  • ВК! сохранить все изменения

Этот подход имеет тот же идеал, что и подход sed: удалять каждую следующую строку текущей строки, начиная со строки 1.

Изменить

В этой фиксации был удален файл Raku IO::Handle.ins.

Да. это работает . :) . первый работает. Я также пробовал второй.. он говорит: «awk: синтаксическая ошибка, строка 1 awk: спасение рядом со строкой 1»

Я предполагаю, что вы использовали n\;d вместо 'n;d' для сохранения ценного символа, но эта логика выходит из окна, когда вы без необходимости используете переключатель -e и перенаправление файла !< /p>

@Geek: команда n записывает пространство шаблонов в стандартный вывод, если использовалась опция -n, затем заменяет пространство шаблонов следующей строкой. Здесь каждая нечетная строка будет напечатана с помощью n , четная строка будет прочитана в пространство шаблонов, но немедленно удалена с помощью команды d`.

Согласно вопросу, с GNU sed :

удалит каждую вторую строку, но я бы хотел предложить фильтровать строки по ее содержанию:

или с тем же результатом

Вот как можно использовать sed :

Другой способ с GNU sed:

Вывод вышеуказанных команд:

Еще один ответ: вы можете использовать vi/vim!

И тогда, если ваш файл был 500 строк (например) введите

А потом написать и выйти типа

Или, если что-то пойдет не так и вы не хотите сохранять:

Вы можете попробовать с awk:

или вы можете печатать только строки, содержащие вставленные данные:

Это можно сделать совсем другим способом:

Я имел это в виду, когда впервые увидел вопрос. Было бы интересно провести тест скорости на sed с огромным файлом (например, 20 миллионов строк). В любом случае, +1, но на самом деле, чтобы избежать головной боли, выберите разделитель, который вряд ли встретится в текстовом файле, например $'\002' .

@don_crissti yes Использование непечатаемого символа в качестве разделителя — хорошая идея. И да, это заметно быстрее, чем решение sed. Я создал тестовый файл с последовательностью 100000000 > 100mil.txt. Решение paste|cut закончилось примерно через 7,5 секунд по сравнению с почти 12 для решения sed. Вроде повторяется. Хотя grep самый быстрый. Ubuntu 14.04 со стандартными инструментами GNU.

Да, вставка + вырезание сильно оптимизированы для своей работы, поэтому неудивительно, что их комбинация работает чертовски быстро.

Другой вариант (короче)

Это также решает проблему, хотя и немного медленнее:

Использование Raku (ранее известного как Perl_6)

Уже есть ответ с использованием Raku от @cuonglm, в котором используется однострочник raku -ne '.say if ++$ % 2' . Выше показан другой подход, использующий вместо этого процедуру Raku get. В сочетании с флагами командной строки -pe (автопечать) подпрограмма Raku get продвигает readline-cursor на строку, что (поскольку -pe печатает возвращаемые значения, а не переменную $_topic) приводит к отбрасыванию этой строки. Печатаются только первая, третья, пятая и т. д. строки.

Необходимо напечатать вторую, четвертую, шестую строку и т. д. вместо верхней? Просто используйте флаги командной строки Raku -ne. Здесь процедура get Раку продвигает readline-cursor на строку, а затем вызывается .put, что дает следующий результат:

Как удалить первые две цифры в Notepad++?

Можно также использовать прямоугольное многострочное выделение (нажимая Alt при выборе), чтобы выделить эти первые 27 символов в каждой строке, а затем нажать Delete или Backspace .

Как удалить символы из блокнота?

  1. Нажмите Ctrl + H, чтобы открыть диалоговое окно поиска и замены.
  2. Убедитесь, что установлен флажок "Регулярное выражение".
  3. Укажите это в поле "Найти что": ^[^>]*>
  4. Убедитесь, что поле "Заменить на" пусто.
  5. Нажмите «Заменить все».

Как удалить первую строку в Notepad++?

  1. Выберите переключатель «Регулярное выражение».
  2. Установите флажок «. соответствует новой строке”

Как удалить первое слово из Notepad++?

Убедитесь, что параметр многострочной привязки установлен правильно. Другой способ сделать это — использовать функцию Text FX для удаления первого слова Notepad++.

Как изменить первый символ в блокноте?

Удалить путь из имени файла в текстовом файле

  1. Откройте диалоговое окно «Заменить» ( Ctrl + H ) и используйте следующий метод замены:
  2. В поле "Найти" введите ^.*\\
  3. Установите режим поиска "Регулярное выражение".
  4. Оставьте поле «Заменить» пустым.
  5. Снимите галочку с соответствия новой строке.
  6. Нажмите "Заменить все".

Как удалить последний символ в блокноте?

Notepad++ Как удалить последний символ (:) в каждой строке

  1. скопируйте в Excel и используйте левую функцию, чтобы исключить последний символ.. затем скопируйте обратно в блокнот… Huy Pham 08 фев.
  2. Я уже делал что-то подобное в notepad++. Но просто используйте поиск и замену.

Как заменить в блокноте?

Замена текста в Блокноте

  1. Откройте текстовый файл в Блокноте.
  2. Нажмите «Изменить» в строке меню, затем выберите «Заменить» в меню «Правка».
  3. В окне "Найти и заменить" введите текст, который вы хотите найти, и текст, который вы хотите использовать в качестве замены.

Как удалить лишнее пространство в Notepad ++?

  1. Выберите Поиск -> Заменить.
  2. Выберите «Регулярное выражение» в режиме поиска.
  3. Используйте ^\s* для "Найти" и оставьте поле "Заменить на" пустым.
  4. Нажмите "Заменить все".

Как удалить пробелы из текстовых файлов?

Используйте rstrip() для удаления завершающих пробелов в файле

  1. f = открыть("script.txt")
  2. для строки в f:
  3. строка = строка. rstrip()
  4. если строка:
  5. печать(строка, конец = "")

Как удалить лишние пробелы между словами в SQL?

Функция SQL Server TRIM() Функция TRIM() удаляет символ пробела ИЛИ другие указанные символы из начала или конца строки. По умолчанию функция TRIM() удаляет начальные и конечные пробелы из строки. Примечание. Также обратите внимание на функции LTRIM() и RTRIM().

Как удалить несколько пробелов в Notepad++?

  1. Ctrl + H, чтобы открыть окно поиска и замены.
  2. Выберите "Регулярное выражение".
  3. Используйте (\d)\s+(\d+)\s+ для поиска и $1:$2\r\n для замены на.
  4. Нажмите "Заменить все".

Как заменить табуляцию пробелами?

  1. Выделите одну вкладку.
  2. Копировать.
  3. Вызовите поиск/замену.
  4. Вставьте в поле поиска.
  5. Нажмите на поле замены и нажмите клавишу пробела.
  6. Затем заменить все.

Сколько пробелов в табуляции?

Почему пробелы лучше табуляции?

Пояснение к принятому ответу: если несколько человек работают над одним и тем же файлом, весьма вероятно возникновение ненужных конфликтов. Использование пробелов вместо табуляции позволяет легко поймать такой случайный пробел на глазном яблоке, и это, вероятно, причина, по которой их использование стало стандартом.

Сколько пробелов занимает вкладка в python3?

Должен ли я использовать пробелы или табуляции?

Пробелы следует использовать там, где вкладки совершенно бесполезны. Даже для выравнивания параметров и комментариев вкладки работают лучше.

Почему вкладки — это плохо в коде?

Табуляции нельзя путать с пробелами в расширенных строках кода. Особенно, когда включена деформация слов, в ряду слов может быть пробел. Очевидно, это могло запутать читателей. Это замедлит парное программирование.

Кто использует пробелы вместо табуляции?

Пробелы приносят больше денег, чем вкладки 28 657 респондентов опроса ответили, что вкладки лучше пробелов, и считают себя профессиональными разработчиками (а не студентами или бывшими программистами). В этой группе 40,7 % используют вкладки, а 41,8 % используют пробелы (17,5 % используют и то, и другое).

Почему на вкладках Python есть пробелы?

Пробелы являются предпочтительным методом отступа. Вкладки следует использовать исключительно для того, чтобы оставаться согласованным с кодом, который уже имеет отступы с помощью табуляции. Python 3 запрещает одновременное использование табуляции и пробела для отступа.

В чем разница между табуляцией и пробелом?

Пробел есть пробел. Табуляция — это одиночный символ, который при отображении расширяется до размера от 2 до 8 пробелов на экране. Если вы используете все пробелы, ваш код будет выглядеть одинаково для всех. Если вы используете все вкладки, каждый может настроить внешний вид вкладки в своем редакторе в соответствии со своими предпочтениями.

Почему pep8 предпочитает пробелы?

Это позволяет делать отступы, не нажимая пробел миллионы раз и не используя фальшивую вкладку (которая создает пробелы). Я действительно не понимаю, почему все дискриминируют использование вкладок.

Почему на вкладке 8 пробелов?

Табуляция состоит из 8 символов, поэтому отступы также состоят из 8 символов. Есть еретические движения, которые пытаются делать отступы в 4 (или даже 2!) символа глубиной, и это сродни попытке определить значение PI равным 3. На этом этапе код с отступом в 2 пробела неотличим от выравнивания по левому краю. .

Почему клавиша Tab занимает огромное место?

Нижний маркер (маленькое поле) управляет отступом слева. Чтобы настроить эти отступы, вы можете щелкнуть и перетащить каждый маркер вправо или влево. Если при нажатии табуляции создается большой отступ, а настройка отступа на линейке не работает, отрегулируйте левый упор табуляции на линейке.

Какой интервал табуляции по умолчанию?

По умолчанию в Word позиции табуляции слева установлены через каждые полдюйма, но вы можете создать свои собственные позиции табуляции в определенном положении или изменить расположение существующих позиций табуляции.

Что такое программная вкладка?

Мягкие табуляции — это просто пробелы. Если вы настроите редактор на использование «мягких табуляции», при нажатии клавиши Tab на клавиатуре ваш редактор будет вставлять пробелы вместо символа табуляции.

Почему нельзя использовать более одного символа табуляции между элементами?

Причины не использовать жесткие вкладки Таким образом, жесткие вкладки могут нарушить читабельность и возможность редактирования исходного кода, если файл редактируют несколько человек. Они откроют файл в редакторе с другими настройками вкладок, отредактируют его, и в следующий раз, когда вы откроете файл, он будет испорчен и все отступы будут неправильными.

Создают ли вкладки файлы меньшего размера?

Использование вкладок экономит около 18 % размера файла по сравнению с пробелами. При использовании GZipping экономия от использования табуляции вместо пробела составляет всего 1,5%. Это все еще экономия, и это имеет значение.

Является ли табуляция символом?

Символы табуляции. Наиболее известная и распространенная вкладка - это горизонтальная табуляция (HT) или табуляция символов, которая в ASCII имеет десятичный код символа 9 и может обозначаться как Ctrl + I или ^I. В C и многих других языках программирования можно использовать управляющий код \t, чтобы поместить этот символ в строковую константу.

Читайте также: