Меню

Linux вывести содержимое файла без пустых строк

Удалить пустые строки с файла в Unix/Linux

Удалить пустые строки с файла в Unix/Linux

Иногда, у нас имеются файлы и в них много пустых строк — это не очень удобно (по крайней мере для чтения). Файлы можно отредактировать вручную, если файл имеет несколько пустых строк, но если файл имеет тысячи пустых строк, это трудно сделать вручную. Используйте один из следующих методов для удаления пустых строк из файла.

-=== СПОСОБ 1 — Использование утилиты SED ===-

Sed потоковый редактор. С помощью этой утилиты, можно легко удалить все пустые строки. Используйте одну из следующих команд sed для удаления пустых строк из файла.

main.txt — Это исходный файл, из которого нужно удалить пустые строки.
output_file.txt — Будет служить файлом без пустых строк.

-=== СПОСОБ 2 — Использование perl ===-

И так, чтобы удалить пустые строки в файлу (у меня это main.txt), используйте:

-=== СПОСОБ 3 — Использование утилиты AWK ===-

Используйте команду awk для удаления пустых строк из файла.

main.txt — Это исходный файл, из которого нужно удалить пустые строки.
output_file.txt — Будет служить файлом без пустых строк.

И так, запускаем:

-=== СПОСОБ 4 — Использование утилиты CAT ===-

Используйте команду cat для удаления пустых строк из файла.

main.txt — Это исходный файл, из которого нужно удалить пустые строки.
output_file.txt — Будет служить файлом без пустых строк.

И так, запускаем:

-=== СПОСОБ 4 — Использование утилиты TR ===-

Используйте команду cat для удаления пустых строк из файла.

main.txt — Это исходный файл, из которого нужно удалить пустые строки.
output_file.txt — Будет служить файлом без пустых строк.

Если появятся еще идеи. Я дополню данную тему!

Вот и все, статья «Удалить пустые строки с файла в Unix/Linux» завершена.

Источник

Удаляем комментарии и пустые строки из файла на Linux

Удаляем комментарии и пустые строки из файла на Linux. При редактировании каких-либо конфигурационных файлов, в них присутствуют закомментированные и пустые строки — это не очень удобно (по крайней мере для чтения). Файлы можно отредактировать вручную, если в нем несколько закомментированных и пустых строк, но если файл имеет тысячи таких строк, это трудно сделать вручную. Сегодня в статье научимся избавляться от лишних пустых и закомментированных строк в файле.

Что такое комментарии в программировании?

Если вы загляните в исходный код или файл конфигурации, вы заметите, что многие строки начинаются со звездочки «*», косой черты «/», или хеша «#», или точки с запятой «;».

Эти строки известны как Комментарии.

В программировании комментарий — это удобочитаемое описание или аннотация, используемая для пояснения целей фрагментов кода.

Они помогают пользователям и другим программистам легко понять, что делает код.

Как правило, комментарии и пустые строки будут игнорироваться компиляторами и интерпретаторами. Они предназначены только для программистов.

Синтаксис комментариев варьируется в зависимости от языка программирования.

Читайте также:  Mathcad вывести строку матрицы

Теперь давайте посмотрим, как исключить или пропустить эти комментарии и пустые строки и отображать только те строки, которые не закомментированы.

Вывод содержимого файлов без комментариев и пустых строк на Linux

Позвольте мне показать вам содержимое файла sources.list в одной из моих систем Ubuntu:

Вы видите, что многие строки закомментированы символом «#». Это делает файл неудобным для чтения. Это небольшой файл, так что это не страшно.Но когда вы читаете очень длинные файлы конфигурации, например, «httpd.conf» или «php.ini», вам придется пройти через множество комментариев и пустых строк, и будет немного сложно найти, какие строки активны, а какие нет.Чтобы отфильтровать все комментарии и пустые строки от отображения в выводе файла, используйте команду grep, как показано ниже:

  • первый символ ^ обозначает начало строки в данном файле, т.е. /etc/apt/sources.list.
  • [^ # * /;] — все строки начинаются с любых символов, кроме этих четырех символов «#», «*», «/», «;». Другими словами, все строки, начинающиеся с символов «#», «*», «/», «;» будут исключены из вывода.

Пример вывода вышеуказанной команды:

Все комментарии и пустые строки исчезли.

Теперь вывод вполне читабелен.Я предпочитаю способом через grep фильтровать ненужные строки, отображаемые в выводе. Вы также можете сделать это с помощью команд awk и sed.

Удаление комментариев и пустых строк в файле на Linux

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

Можно и такой командой:

Как удалить комментарии из нескольких файлов

find -name ‘*.c’ | xargs sed -i ‘0,/^*\/$/d’

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.

Источник

linux-notes.org

Иногда, у нас имеются файлы и в них много пустых строк — это не очень удобно (по крайней мере для чтения). Файлы можно отредактировать вручную, если файл имеет несколько пустых строк, но если файл имеет тысячи пустых строк, это трудно сделать вручную. Используйте один из следующих методов для удаления пустых строк из файла.

-=== СПОСОБ 1 — Использование утилиты SED ===-

Sed потоковый редактор. С помощью этой утилиты, можно легко удалить все пустые строки. Используйте одну из следующих команд sed для удаления пустых строк из файла.

  • main.txt — Это исходный файл, из которого нужно удалить пустые строки.
  • output_file.txt — Будет служить файлом без пустых строк.

-=== СПОСОБ 2 — Использование perl ===-

И так, чтобы удалить пустые строки в файлу (у меня это main.txt), используйте:

-=== СПОСОБ 3 — Использование утилиты AWK ===-

Используйте команду awk для удаления пустых строк из файла.

  • main.txt — Это исходный файл, из которого нужно удалить пустые строки.
  • output_file.txt — Будет служить файлом без пустых строк.

И так, запускаем:

-=== СПОСОБ 4 — Использование утилиты CAT ===-

Используйте команду cat для удаления пустых строк из файла.

  • main.txt — Это исходный файл, из которого нужно удалить пустые строки.
  • output_file.txt — Будет служить файлом без пустых строк.
Читайте также:  100 bamboo как стирать

И так, запускаем:

-=== СПОСОБ 5 — Использование утилиты TR ===-

Используйте команду cat для удаления пустых строк из файла.

  • main.txt — Это исходный файл, из которого нужно удалить пустые строки.
  • output_file.txt — Будет служить файлом без пустых строк.

Если появятся еще идеи. Я дополню данную тему!

Вот и все, статья «Удалить пустые строки с файла в Unix/Linux» завершена.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Как удалить пустые строки в файле в Linux

Главное меню » CentOS » Как удалить пустые строки в файле в Linux

Мы использовали CentOS 8 в демонстрационных целях.

Удалите пустые строки с помощью команды grep

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

При использовании с параметром -v команда grep помогает удалить пустые строки. Ниже представлен образец текстового файла sample.txt с альтернативными непустыми и пустыми строками.

Чтобы удалить или удалить все пустые строки в образце текстового файла, используйте команду grep, как показано.

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

Более того, вы можете сохранить или перенаправить вывод в другой файл, используя, например, оператор «больше» (>).

Удалите пустые строки с помощью команды sed

Сокращенная как редактор потока, команда sed в Linux – популярный инструмент, который выполняет широкий спектр функций, включая замену строк в файле.

Более того, вы также можете использовать sed для удаления пустых строк в файле, как показано ниже.

Удалите пустые строки с помощью команды awk

Наконец, у нас есть команда awk. Это еще один инструмент командной строки для управления текстовыми сообщениями, который также может избавиться от пустых строк. Чтобы удалить пустой файл с помощью awk, выполните команду ниже.

Заключение

Мы предоставили 3 способа, которые могут быть полезны для удаления пустых строк в текстовых файлах. Есть ли другие идеи о том, как удалить эти ненужные пустые строки? Не стесняйтесь связаться с нами в разделе комментариев.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Как удалить пустые строки из файла Unix

Мне нужно удалить все пустые строки из входного файла и записывать в выходной файл. Вот мои данные, как показано ниже.

8 ответов

это говорит sed удалить каждую строку, соответствующую регулярному выражению ^$ т. е. каждая пустая строка. The -i флаг редактирует файл на месте, если ваш sed не поддерживает, что вы можете написать вывод во временный файл и замените оригинал:

если вы также хотите удалить строки, состоящие только из пробелов (а не только пустых строк), используйте:

Читайте также:  Payeer кошелек как вывести

Edit: также удалить пробелы в конце строк, потому что по-видимому, вы решили, что вам это тоже нужно:

NF также удаляет строки, содержащие только пробелы или вкладки, регулярное выражение /^$/ нет.

использовать grep чтобы соответствовать любой линии, которая не имеет ничего между стартовым якорем ( ^ ) и конец якоря ( $ ):

если вы хотите удалить строки только с пробелами, вы все равно можете использовать grep. Я использую регулярные выражения Perl в этом примере, но вот другие способы:

или, без регулярных выражений Perl:

удаляет все строки, состоящие только из пробелов (или полностью пустые). Вы можете изменить пробел на [ \t] здесь \t является представлением для tab. Будь то ваша оболочка или ваш sed будет делать расширение варьируется, но вы, вероятно, можете ввести символ вкладки напрямую. И если вы используете GNU или BSD sed , вы можете сделать редактирование на месте, если это то, что вы хотите, с .

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

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

новое регулярное выражение удаляет повторяющиеся пробелы в конце строки; см. предыдущее обсуждение пробелов или вкладок.

другой возможно, что ваш файл данных пришел из Windows и имеет окончание строки CRLF. Unix видит возврат каретки в конце строки; он не является пустым, поэтому строка не удаляется. Есть несколько способов справиться с этим. Надежного tr удалить ( -d ) код символа восьмеричный 15, он же control-M или \r или возврата каретки:

если ни один из этих работ, то вам нужно показать шестнадцатеричный дамп или восьмеричный дамп ( od -c ) из первых двух строк файла, таким образом, мы можем видеть, с чем мы столкнулись:

судя по комментариям, что sed -i не работает для вас, вы не работаете на Linux или Mac OS X или BSD-на какой платформе вы работаете? (AIX, Solaris, HP-UX приходят на ум как относительно правдоподобные возможности, но есть и множество других, менее правдоподобных.)

вы можете попробовать POSIX именованные классы символов, такие как sed -e ‘/^[[:space:]]*$/d’ ; он, вероятно, будет работать, но не гарантируется. Вы можете попробуйте это:

если это сработает, между «Hello» и «World» будет три пробела. Если нет, вы, вероятно, получите сообщение об ошибке от sed . Это может избавить вас от горя по поводу ввода вкладок в командной строке.

grep смотрит на ваш файл строка за строкой; точка . что соответствует за исключением символ. Поэтому вывод из grep — это все строки, которые состоят из чего-то другого, чем одна новая строка.

Источник