Удалить первые и последние строки
Обрезает строки в начале и в конце: по числу, до и после строки-метки или одинаковые шапку и подвал у многих файлов
Инструмент справился с вашей задачей?
Одно нажатие, без регистрации. По ответам мы решаем, какие инструменты дорабатывать первыми.
Ваш ответ здесь будет первым.
Этот инструмент ещё ждёт первого комментария
Нашли приём, остался вопрос или чего-то не хватило — напишите, пригодится следующим. Почту и пароль указывать не нужно · публикуем после проверки, обычно за 1–2 дня · если вам ответят, ответ появится здесь же
Как удалить первые и последние строки из текста
Инструмент убирает заданное число строк в начале и в конце текста. Укажите, сколько первых строк удалить (N) и сколько последних (M), и получите текст без них. Середина остаётся нетронутой: ни один символ внутри сохранённых строк не меняется, переводы строк и пробелы остаются на своих местах.
Вставьте текст в поле или загрузите файл. Удалённые строки подсвечиваются в предпросмотре: те, что уйдут сверху и снизу, показаны красным и зачёркнуты, поэтому до копирования видно, не задели ли вы нужное. Результат можно скопировать или скачать файлом .txt.
Можно удалить только первые строки (M = 0), только последние (N = 0) или и те и другие сразу. Это одно действие вместо двух: не нужно сначала отрезать шапку, а потом отдельно искать и стирать подпись в конце.
Если заранее неизвестно, сколько строк занимают шапка и подвал, в переключателе «Как искать удаляемое» выберите «До и после строки-метки» или «Одинаковые шапка и подвал у всех файлов». По умолчанию включён способ «По числу строк».
Удалить строки из нескольких файлов сразу: папка, перетаскивание, архив ZIP
На вкладке «Много файлов» можно выбрать сразу несколько файлов, целую папку или перетащить файлы и папки в окно. Инструмент покажет, сколько файлов найдено и какой у них общий объём, и сразу отбросит служебный мусор операционных систем: .DS_Store, Thumbs.db, desktop.ini, папку __MACOSX и файлы, начинающиеся с «._».
Перед запуском виден предпросмотр первого файла: какие строки уйдут сверху и какие снизу. Для файла больше 10 МБ предпросмотр не строится, но обработка работает и для него. Затем кнопка «Обработать» проходит все файлы по очереди, показывает прогресс и позволяет отменить работу на середине.
Результат скачивается одним архивом ZIP, в котором сохранена структура подпапок и исходные имена файлов, в том числе кириллические. Если в архиве оказываются два пути, различающиеся только регистром букв, второй получает приписку вида «(2)», чтобы файлы не затёрли друг друга при распаковке. Если на входе был один файл, архив не создаётся: скачивается сам файл. Вместо архива можно получить один общий файл, склеенный из всех обрезанных, — об этом ниже.
Вся обработка идёт в вашем браузере. Файлы не загружаются на сервер сайта.
Шапка и подвал разной длины: удалить всё до строки с нужным словом и после неё
Число строк в шапке и подвале бывает разным от файла к файлу: у страниц, скачанных с сайта, список ссылок на другие страницы в подвале то длиннее, то короче, а в выгрузках меняется число строк с реквизитами. Тогда удобнее резать не по числу строк, а по содержимому: выберите способ «До и после строки-метки».
В поле «Удалить всё до строки, в которой есть:» впишите слово или фразу из последней строки шапки, в поле «Удалить всё начиная со строки, в которой есть:» — из первой строки подвала. Галочка «вместе с этой строкой» решает, уйдёт ли сама строка с меткой; по умолчанию она уходит. Можно заполнить только одно поле, тогда обрезается одна сторона.
Сверху берётся первая строка с меткой, снизу — последняя, причём подвал ищется только ниже того места, где закончилась шапка. Если слово метки встретится ещё и в самом тексте, сработают строки шапки и подвала: они стоят ближе к краям. Регистр букв не важен, неразрывный пробел считается обычным, а несколько пробелов подряд — одним.
Способ работает и на вкладке «Текст», и на вкладке «Много файлов». Если в каком-то файле метка не нашлась, эта сторона у него не обрезается, а файл попадает в список файлов, на которые стоит посмотреть, с пометкой «метка начала не найдена», «метка конца не найдена» или «метки не найдены». Найденная сторона при этом всё равно обрезается.
Одинаковые шапка и подвал у всех файлов: инструмент найдёт их сам
Если файлов много и все они сделаны по одному шаблону (страницы одного сайта, отчёты одной программы), шапку и подвал можно не описывать вовсе. Способ «Одинаковые шапка и подвал у всех файлов» сравнивает файлы между собой: шапкой считаются строки, которые стоят в начале не меньше чем у половины файлов, подвалом — такие же строки в конце.
Шапка ищется в первых 80 строках каждого файла, подвал — в последних 80. Пробелы при сравнении схлопываются, регистр учитывается. Номера страниц и даты могут отличаться: строки вроде «Страница 3 из 9» или «Обновлено 04.09.2026» совпадают после замены цифр. Такие строки удаляются, только если стоят внутри шапки или подвала, а граница с текстом всегда проходит по строке, которая совпадает у файлов точно. Поэтому заголовки «Глава 1», «Глава 2» в начале каждого файла останутся на месте.
Для автопоиска нужны хотя бы два файла: в одном тексте сравнивать не с чем, поэтому на вкладке «Текст» этот способ не работает, и инструмент предложит перейти к «Много файлов» или выбрать строку-метку. Сначала инструмент читает все выбранные файлы и показывает прогресс сравнения, затем итог: у скольких файлов найдена шапка и сколько в ней строк, у скольких найден подвал и какой он длины, и сами строки на примере одного файла. Если шапка или подвал нашлись меньше чем у половины файлов, появится предупреждение: возможно, файлы устроены по-разному, и надёжнее задать строки-метки.
Пример: 109 страниц словаря, скачанных с сайта по одной. Шапка у всех одинаковая, 7 строк, а подвал занимает от 19 до 22 строк, потому что в нём меняются список номеров страниц и дата. Способ «По числу строк» здесь не подходит, а автопоиск находит шапку и подвал у всех 109 файлов.
Один общий файл вместо архива: обрезать и сразу склеить
В блоке «Результат» на вкладке «Много файлов» выберите «Один общий файл», и вместо архива вы получите один файл, в котором обрезанные файлы идут друг за другом. Так удобно собрать в один документ страницы, скачанные по отдельности, или выгрузки за разные дни.
Файлы идут по имени, причём числа в именах сравниваются как числа: «стр2» раньше «стр10». Перед запуском видно, какие файлы окажутся первыми и последними. Между файлами можно ничего не вставлять, вставить пустую строку или строку с именем файла. Если файл не заканчивается переводом строки, перед следующим файлом перевод строки добавляется, чтобы строки двух файлов не слились в одну.
Галочка «Не трогать верх первого файла — заголовок CSV останется один раз» оставляет первому файлу его верхние строки, а у остальных файлов срезает их как обычно. С ней способ «По числу строк» с N = 1 превращает папку CSV с одинаковыми столбцами в одну таблицу с одной строкой заголовков.
Двоичные файлы и файлы в UTF-32 в общий файл не попадают и отмечаются в отчёте. Если выбрана или перетащена папка, общий файл называется как эта папка, а если выбраны отдельные файлы — «obedinennye-fajly». Расширение берётся общее для всех файлов (при разных расширениях — .txt). Если нужна только склейка файлов, для неё есть отдельный инструмент «Объединить текстовые файлы в один» (/tools/obedinit-tekstovye-fajly-v-odin): в нём можно ещё привести переводы строк к одному виду и записать результат в UTF-8.
Что считается строкой: пустые строки, CRLF, последняя строка без перевода
Строка заканчивается символом перевода строки LF. Файлы Windows с окончаниями CRLF обрабатываются так же: символ CR остаётся частью своей строки, поэтому окончания в сохранённой части файла не меняются. Если во всём файле нет ни одного LF, но есть CR (так хранили текст старые программы для Mac), разделителем считается CR.
Последняя строка без перевода в конце тоже считается строкой. Пустая строка и строка из одних пробелов — полноценные строки и учитываются при подсчёте. У совсем пустого файла строк ноль.
Если после обрезки по краям остались пустые строки или строки из одних пробелов и табуляций, их можно убрать опцией «Убрать пустые строки, оставшиеся по краям». Пустые строки в середине текста она не трогает, а последняя оставшаяся строка сохраняет свой перевод строки.
Такой подсчёт совпадает с поведением утилит GNU tail и head: результат для N первых и M последних строк тот же, что у команды tail -n +(N+1) с последующей head -n -M. Сознательных отличий два: метка BOM в начале файла сохраняется (подробнее ниже), а файл, где переводы строк записаны только символом CR, делится на строки по CR — утилиты GNU считают такой файл одной строкой.
Кодировки UTF-8, UTF-8 с BOM, Windows-1251 и UTF-16 сохраняются
При пакетной обработке файл не перекодируется. Инструмент определяет, как устроен файл, и вырезает строки прямо из его байтов. Файлы в UTF-8 и в однобайтовых кодировках вроде Windows-1251 остаются в своей кодировке: сохранённые строки выходят байт в байт такими же, как были.
Метка порядка байтов (BOM) в начале файла остаётся на месте, даже если удалена первая строка. Иначе файл, у которого была метка, после обработки мог бы открыться в другой кодировке. У GNU tail здесь поведение другое: метка считается частью первой строки и уходит вместе с ней.
Файлы в UTF-16 (с меткой BOM или без неё, если кодировку удаётся уверенно распознать по содержимому) тоже обрабатываются в своей кодировке: перевод строки ищется по двухбайтовым символам, а не по отдельным байтам, поэтому кириллица и другие символы не рвутся пополам.
Файлы в UTF-32 и двоичные файлы (картинки, архивы, документы Word) не обрабатываются: они остаются без изменений, а в итоговом отчёте отмечены отдельно.
Одно исключение касается результата «Один общий файл». Если все файлы в одной кодировке, общий файл записывается в ней же, а метка BOM не повторяется посреди текста: если она есть, то один раз, в начале. Если кодировки разные, например часть файлов в UTF-8, а часть в Windows-1251, общий файл записывается в UTF-8, и инструмент об этом сообщает.
Что будет, если строк в файле меньше, чем нужно удалить
Когда N + M не меньше числа строк в файле, удалять по сути нечего оставить. Для таких файлов на вкладке «Много файлов» есть выбор из трёх вариантов: очистить файл (останется пустой файл, а при наличии BOM — только метка), оставить файл как есть или не класть его в архив вовсе. При склейке в один общий файл третий вариант называется «Не класть в общий файл».
Какой вариант выбрать, зависит от задачи. Если дальше файлы загружаются в программу, которая ждёт полный набор имён, подойдёт «оставить как есть» или «очистить». Если пустые и короткие файлы — мусор, выбирайте «не класть в архив». Все такие файлы видны в итоговом отчёте.
В текстовом поле вариант один: если строк не больше, чем удаляется, результат будет пустым.
Удалить заголовок из CSV-файлов, шапку и подпись из выгрузок, служебные строки из логов
Заголовок CSV. Чтобы склеить несколько CSV с одинаковыми столбцами в один, у всех файлов, кроме первого, нужно убрать строку с названиями столбцов. Укажите N = 1, выберите результат «Один общий файл» и включите «Не трогать верх первого файла»: заголовок останется один раз, в начале. Если нужен архив, удалите первую строку у всех файлов, а первый файл возьмите исходным.
Шапка и подпись в выгрузках. Отчёты из учётных программ и банков часто начинаются со строк вроде названия организации и периода, а заканчиваются строками «Итого» или подписью. Если число таких строк одинаково во всех файлах, их можно отрезать сразу у всей папки. Если число строк разное, помогут строка-метка или автопоиск одинаковых шапки и подвала.
Служебные строки в логах и дампах. Некоторые программы пишут в начало файла строки с версией и параметрами запуска, а в конец — строку о завершении. Удалив их, проще сравнивать и склеивать файлы.
Помните, что CSV-строка, в которой значение в кавычках содержит перевод строки, для инструмента — это несколько строк. Если такие значения стоят в заголовке или в последних записях, проверьте результат в предпросмотре.
Как удалить первую строку из файла в командной строке: PowerShell, sed, head и tail
Тем, кто работает в командной строке, инструмент не обязателен. Ниже команды, сверенные с документацией, и их подводные камни.
PowerShell 7.4 и новее: Get-Content in.txt | Select-Object -Skip 3 -SkipLast 2 | Set-Content out.txt. Параметр -Skip пропускает строки с начала, -SkipLast — с конца. Совмещать -Skip и -SkipLast в одном вызове документация Microsoft разрешает начиная с PowerShell 7.4.
Windows PowerShell 5.1: параметр -SkipLast там есть, но в одном вызове с -Skip его не использовать, поэтому нужны два шага: Get-Content in.txt | Select-Object -Skip 3 | Select-Object -SkipLast 2 | Set-Content out.txt.
Внимание, кодировка: Get-Content читает строки как текст, а Set-Content записывает их заново в своей кодировке. В Windows PowerShell 5.1 по умолчанию это системная кодовая страница (обычно ANSI), в PowerShell 7 — UTF-8 без BOM. Файл в другой кодировке после такой команды может поменять кодировку, а окончания строк будут записаны заново. Указывайте -Encoding явно и пишите результат в другой файл, а не в исходный.
Linux (GNU coreutils): tail -n +4 in.txt | head -n -2 > out.txt удаляет 3 первые и 2 последние строки. У tail запись -n +4 означает «начать с 4-й строки», то есть пропустить три; у head запись -n -2 означает «всё, кроме двух последних строк». Удалить только первые три строки можно и так: sed '1,3d' in.txt > out.txt, только последнюю: sed '$d' in.txt > out.txt.
macOS: встроенный head взят из BSD и отрицательное число не понимает — команда head -n -2 завершается ошибкой «illegal line count». Команда tail -n +4 работает. Для удаления последних строк можно установить GNU coreutils (в Homebrew пакет coreutils, команда называется ghead) или воспользоваться этим инструментом.
Для тысяч файлов эти команды приходится оборачивать в цикл и следить, чтобы результат не перезаписал исходник раньше времени. Здесь инструмент в браузере проще: выбрали папку, получили архив, исходные файлы на диске не меняются.
Граница инструмента: режет только края текста
Инструмент убирает строки только с краёв: сверху до какого-то места и снизу начиная с какого-то места. Даже со строкой-меткой он удаляет всё до строки с меткой и всё после неё, а не отдельные строки с этим словом. Строки в середине текста, дубли и символы внутри строк он не трогает.
Если нужно удалить строки со словом, пустые строки или повторы, воспользуйтесь инструментом «Удаление строк» (/tools/remove-lines). Для удаления каждой второй, третьей или N-й строки подойдёт «Удалить каждую N-ю строку» (/tools/remove-nth-line).
Пример из жизни: сотни банковских выписок в CSV
Бухгалтер выгрузил из интернет-банка выписки по счетам за год — отдельный CSV на каждый месяц и счёт, разложенные по папкам. В начале каждого файла четыре строки с реквизитами и периодом, в конце — строка с итоговым оборотом. Нужно загрузить данные в таблицу одним куском.
Открыл вкладку «Много файлов» и перетащил в окно папку с выписками.
Указал N = 4 и M = 1 и проверил в предпросмотре первого файла, что уходят реквизиты и строка итога, а строка с названиями столбцов остаётся первой.
Выбрал для слишком коротких файлов вариант «не класть в архив», чтобы пустые выписки не попали в результат.
Нажал «Обработать» и скачал архив с той же структурой папок. Кодировка Windows-1251, в которой банк отдаёт файлы, сохранилась, кириллица в таблице читается.
Знаете ли вы?
Окончание строки в Windows — это два символа, CR и LF, в Linux и macOS — один LF. Старые версии Mac OS до перехода на Mac OS X использовали один CR.
Метка BOM — невидимые байты в начале файла, по которым программы узнают UTF-8 или порядок байтов в UTF-16. Если отрезать её вместе с первой строкой, файл может открыться в другой кодировке.
Запись tail -n +4 означает не «4 последние строки», а «вывести, начиная с 4-й строки». Плюс перед числом полностью меняет смысл команды.
Команды head и tail на macOS взяты из BSD, а на Linux обычно из GNU coreutils. Поэтому одна и та же команда может работать на сервере и падать на ноутбуке.
При обычной сортировке строк «стр10» стоит раньше «стр2»: символы сравниваются по одному, а «1» меньше «2». Чтобы файлы шли по номерам, числа в именах нужно сравнивать как числа.
Три способа найти удаляемое
| Способ | Что задать | Когда подходит | Где работает |
|---|---|---|---|
| По числу строк | N первых и M последних строк | Шапка и подвал одной длины во всех файлах | Текст и файлы |
| До и после строки-метки | Слово из последней строки шапки и из первой строки подвала | Длина шапки или подвала меняется, но в них есть постоянное слово | Текст и файлы |
| Одинаковые шапка и подвал у всех файлов | Ничего: шапка и подвал находятся сравнением файлов | Много файлов по одному шаблону; номера страниц и даты в шапке и подвале могут отличаться | Только «Много файлов», от 2 файлов |
Удаление первых и последних строк в разных средах
| Среда | Первые 3 и последние 2 строки | Что учесть |
|---|---|---|
| Этот инструмент | N = 3, M = 2 | Работает в браузере, кодировка и окончания строк сохраняются, много файлов — архивом или одним общим файлом |
| PowerShell 7.4+ | Get-Content in.txt | Select-Object -Skip 3 -SkipLast 2 | Set-Content out.txt | Set-Content по умолчанию пишет UTF-8 без BOM |
| Windows PowerShell 5.1 | Get-Content in.txt | Select-Object -Skip 3 | Select-Object -SkipLast 2 | Set-Content out.txt | -Skip и -SkipLast в одном вызове нельзя; Set-Content по умолчанию пишет в системной кодовой странице |
| Linux (GNU) | tail -n +4 in.txt | head -n -2 > out.txt | Отрицательное число у head — расширение GNU |
| macOS | tail -n +4 in.txt, затем ghead -n -2 из GNU coreutils | Встроенный head не принимает отрицательное число |
Если строк не больше, чем удаляется
| Вариант | Что будет с файлом | Когда подходит |
|---|---|---|
| Очистить файл | Файл в архиве пустой (метка BOM сохраняется, если была) | Нужен полный набор файлов, а содержимое коротких не нужно |
| Оставить как есть | Файл попадает в архив без изменений | Короткие файлы могут быть особым случаем, который проверяется вручную |
| Не класть в архив | Файла в архиве нет, он отмечен в отчёте | Короткие файлы — мусор |
Файлы не отправляются на сервер сайта
Чтение, обрезка строк, сравнение файлов и сборка архива или общего файла выполняются на вашем устройстве. Файлы не отправляются на сервер сайта, а исходные файлы на диске не меняются: вы получаете копии.
Архив ZIP ограничен 65 535 файлами и размером меньше 4 ГиБ. Если выбрано больше, инструмент попросит разбить работу на части. При суммарном объёме больше 1 ГБ появится предупреждение: обработка займёт память браузера. К результату «Один общий файл» это ограничение не относится: архив там не собирается.
Как удалить первые и последние строки: пошагово
Выберите, как искать удаляемое
«По числу строк» — впишите N и M. «До и после строки-метки» — слова из последней строки шапки и первой строки подвала. Автопоиск шапки и подвала работает для файлов.
Вставьте текст или загрузите файл
На вкладке «Текст» вставьте текст в поле или нажмите «Загрузить файл». Удаляемые строки сразу подсветятся красным.
Для многих файлов выберите папку
На вкладке «Много файлов» нажмите «Выбрать файлы» или «Выбрать папку» либо перетащите их в окно. Служебные файлы систем отбрасываются автоматически.
Выберите, что получить
В блоке «Результат» — архив ZIP или один общий файл. Для общего файла выберите разделитель, а для CSV включите «Не трогать верх первого файла».
Проверьте предпросмотр и настройки
Посмотрите, что уйдёт сверху и снизу в первом файле. При необходимости уберите пустые строки по краям и выберите, что делать с короткими файлами.
Запустите и скачайте результат
Нажмите «Обработать», прогресс виден, работу можно отменить. Скачайте архив, общий файл или сам файл; отчёт покажет, какие файлы стоит проверить.
Примеры: что получится
Отчёт с шапкой и подписью
Текст из шести строк: «Отчёт за март», «Дата;Сумма», две строки с данными, пустая строка, «Итого». При N = 1 и M = 2 остаются «Дата;Сумма» и две строки с данными.
Папка CSV без заголовков
В папке файлы продаж по дням, у каждого первая строка — названия столбцов. При N = 1 и M = 0 архив содержит те же файлы в тех же подпапках, но без строки заголовка.
Короткий файл
В файле две строки, а удаляется одна первая и две последние. В зависимости от выбора файл станет пустым, останется как был или не попадёт в архив.
Пустые строки после обрезки
После удаления шапки в начале текста остались две пустые строки. С опцией «Убрать пустые строки, оставшиеся по краям» результат начинается сразу с первой строки с текстом.
Файл Windows в кодировке Windows-1251
Выгрузка из старой программы с окончаниями CRLF. После удаления первой строки файл остаётся в Windows-1251 с теми же CRLF: кириллица в нём открывается так же, как в исходнике.
Шапка до «Войти», подвал с «Pagination»
У страниц, скачанных с сайта, шапка заканчивается строкой «• Войти», а подвал начинается строкой «Pagination». В полях меток достаточно написать «войти» и «pagination»: регистр не важен, и подвал уходит целиком, какой бы длины он ни был.
Страницы с подвалом разной длины — в один файл
У 109 страниц шапка 7 строк, а подвал от 19 до 22 строк. Автопоиск находит шапку и подвал у всех файлов, а с результатом «Один общий файл» страницы склеиваются по порядку имён в один текст без шапок и подвалов.
Вопросы об удалении первых и последних строк
Как удалить первую строку из текста?
Можно ли удалить сразу первые и последние строки?
Как удалить первую строку из всех файлов в папке?
Как удалить всё до строки с определённым словом?
Как убрать шапку и подвал, если их длина в файлах разная?
Можно ли после обрезки склеить файлы в один?
Как оставить заголовок CSV только у первого файла?
Загружаются ли мои файлы на сервер?
Можно ли загрузить архив ZIP с файлами?
Изменится ли кодировка файла?
Сохранятся ли окончания строк CRLF?
Считаются ли пустые строки?
Что будет, если в файле меньше строк, чем нужно удалить?
Считается ли строкой последняя строка без перевода строки?
Что происходит с картинками и другими не текстовыми файлами в папке?
Можно ли удалить строки, в которых есть определённое слово?
Почему head -n -2 не работает на Mac?
Как удалить первые строки в PowerShell?
Другие инструменты для работы со строками
Если нужно не отрезать края, а почистить или разобрать текст иначе, пригодятся эти инструменты.
Комментарии
Этот инструмент ещё ждёт первого комментария
Почту и пароль указывать не нужно · публикуем после проверки, обычно за 1–2 дня · если вам ответят, ответ появится здесь же
Комментарии — мнения посетителей, прошедшие проверку по правилам сайта.