6 простых методов удаления пустых строк в Bash в Linux

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

Любой пользователь Linux знает, какое потенциальное раздражение могут вызывать пустые строки в обрабатываемом файле. Кроме того, что эти пустые строки мешают обработке таких файлов, они затрудняют чтение и запись файла работающим программам. В этой статье мы рассмотрим несколько быстрых методов удаления пустых/непустых строк в Bash на Linux.

Чтобы упростить тему, мы расскажем о 6 возможных подходах и рассмотрим несколько подходящих случаев с необходимыми обоснованиями. Мы будем использовать различные команды и примеры для удаления пустой строки из файла и отображения файла.

6 способов удаления пустых строк в Bash в Linux

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

  • команда sed:Потоковый редактор для фильтрации и работы с текстом.
  • команда grep: Отображение строк, соответствующих шаблонам.
  • команда awk: Утилита awk выполняет программы, написанные на языке программирования awk, предназначенном для работы с текстовыми данными.
  • команда cat: объединяет файлы и печатает их на стандартном выходе.
  • команда tr: перевод или удаление символов.
  • команда perl: язык программирования, созданный специально для редактирования текста.

Способ 1: Запустите команду sed, чтобы удалить пустые строки в Bash

В нашем первом решении мы будем использовать команду sed для удаления пустых строк в Bash из файла. Команда sed используется для простого изменения текста.

  • Редактор потоков sed может удалять пустые строки из файлов, как показано ниже.
    sed '/^[[:space:]]*$/d' 1_Test.txt
  • Когда вы запустите сценарий Bash, как указано выше, вы должны увидеть результат, аналогичный приведенному ниже:
    это первая строка.
    Это вторая строка.
    Это третья строка.
    Это четвертая строка.

При этом:

  • '/ [[:space:]] *$/d': часть кода используется для поиска и удаления пустой строки из файла.
  • //: Там хранится строка поиска.
  • ^: Начало строки.
  • $: Конец строки.
  • d: Удалите совпадающую строку.
  • txt: Имя исходного файла.

Способ 2: Удалите пустые строки в Bash с помощью команды grep

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

  • Вы можете использовать этот метод для удаления пустой строки из файла, следуя приведенному ниже примеру.
    grep -v '^ [[:space:]] *$' 1_Test.txt
  • Результат запуска упомянутого выше сценария Bash будет выглядеть примерно так:
    это первая строка.
    Это вторая строка.
    Это третья строка.
    Это четвертая строка.

Подробности следующие:

  • '[[:space:]] *$': часть кода используется для поиска и удаления пустой строки из файла.
  • .: Заменяет любой символ
  • ^: Начало строки
  • $: конец строки.
  • E: Для сопоставления шаблонов в расширенных регулярных выражениях.
  • e: Для сопоставления шаблонов в регулярных выражениях.
  • v: Чтобы выбрать строки, которые не соответствуют файлу.
  • txt: Имя исходного файла

Способ 3: Используйте команду awk для удаления пустых строк в Bash

В этом методе мы воспользуемся awk, встроенным ключевым словом в Bash Script. Скриптовый язык общего назначения awk был создан для сложной обработки текстовых данных. Его основными видами применения являются обработка текста, составление отчетов и анализ.

  • Пример ниже демонстрирует удаление пустой строки из файла с помощью этого ключевого слова.
    awk '!/^[[:пробел:]]*$/' 1_Test.txt
  • И вот вывод:
    Это первая строка.
    Это вторая строка.
    Это третья строка.
    Это четвертая строка.

При этом:

  • /[[:space:]] *$/: Пустые строки в файле распознаются и удаляются с помощью синтаксиса.
  • //: Там хранится строка поиска.
  • ^: Начало строки
  • $: конец строки.
  • .: Заменяет любой символ
  • ! : Удалите совпадающую строку.
  • txt: Имя исходного файла

Способ 4: Запустите команду cat, чтобы удалить пустые строки в Bash

Cat — это аббревиатура от слова concatenate. Он обычно используется в Linux для чтения данных из файла. В операционных системах, подобных Unix, команда cat является одной из наиболее часто используемых команд. Он предоставляет три функции, связанные с текстовыми файлами: отображение содержимого файла, объединение нескольких файлов в один вывод и создание нового файла.

  • Мы можем легко удалить пустые строки из файла, объединив команды «cat» и «tr», как показано ниже:
    Cat 1_Test.txt | tr -s '\n' > new_file.txt
  • Вывод:
    это первая строка.
    Это вторая строка.
    Это третья строка.
    Это четвертая строка.

Ниже приведены особенности:

  • |: Символ трубы. Он использует выходные данные первой команды в качестве входных данных для другой команды.
  • s: Заменить каждую последовательность повторяющегося символа в последнем указанном SET.
  • \n: Чтобы вставить новую строку.
  • txt: Имя исходного файла.

Способ 5: Удалите пустые строки в Bash с помощью команды tr

В системах Linux и Unix tr — это утилита командной строки, которая переводит, удаляет и сжимает символы из стандартного ввода и записывает результаты в стандартный вывод. Команда tr может удалять повторяющиеся символы, преобразовывать прописные буквы в строчные и выполнять обычную замену и удаление символов. Обычно он используется в сочетании с другими командами, передаваемыми по трубопроводу.

  • Сжимайте повторяющиеся буквы новой строки, чтобы удалить пустые строки:
    tr -s '\n' new_file.txt

В приведенной выше команде мы использовали:

  • <: Этот символ перенаправления используется для передачи содержимого файла file.txt команде tr.
  • >: Символ перенаправления, который записывает вывод команды в файл new_file.txt.

Способ 6: Используйте команду perl для удаления пустых строк в Bash

Perl — это сокращенная версия практического языка извлечения и составления отчетов. Perl — это язык программирования, который был создан специально для редактирования текста. В настоящее время он широко используется для решения различных задач, таких как системное администрирование Linux, сетевое программирование, веб-разработка и т.д.

  • В следующем примере показано, как использовать это ключевое слово для удаления пустой строки из файла.
    perl -ne 'print if/\ S/' 1_Test.txt > new_file.txt
  • И вот результат:
    Это первая строка.
    Это вторая строка.
    Это третья строка.
    Это четвертая строка.

При этом:

  • .: Может использоваться для замены любого символа.
  • ^: Начало строки.
  • $: Конец строки.
  • E: Для сопоставления шаблонов с помощью расширенных регулярных выражений.
  • e: Сопоставление шаблонов для регулярных выражений.
  • v: Извлечение несовпадающих строк из файла.
  • txt: Имя исходного файла.

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

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

Одним из наиболее рекомендуемых решений является использование Wondershare Recoverit Linux File Recovery. Это мощное программное обеспечение для восстановления данных разработано специально для систем Linux и позволяет быстро и легко восстановить удаленные файлы, даже если они были безвозвратно удалены из корзины.

Wondershare Recoverit - Ваше безопасное и надежное программное обеспечение для восстановления Linux

Его скачали 5 481 435 человек.

Восстанавливает потерянные или удаленные документы, фотографии, видео, музыку, электронные письма и более 1000 других типов файлов эффективно, безопасно и полностью.

Совместим со всеми основными дистрибутивами Linux, включая Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro и т.д.

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

Простой интерфейс «укажи и нажми» позволяет восстанавливать данные с жестких дисков Linux всего за несколько кликов.

Работает через удаленное подключение. Вы можете восстановить потерянные данные даже в случае сбоя устройства Linux.

С Wondershare Recoverit восстановление данных в Linux действительно просто и без проблем. Ваши данные можно восстановить за 3 простых шага.

Шаг 1Выберите восстановление Linux

Загрузите и установите Wondershare Recoverit на свой компьютер. Откройте программное обеспечение, затем выберите NAS и Linux. Чтобы продолжить, выберите опцию Linux Recovery .

выберите вариант восстановления linux
Шаг 2Удаленное подключение компьютера Linux

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

удаленное подключение компьютера linux

После успешного установления соединения Recoverit автоматически просканирует компьютер с Linux в поисках пропавших файлов.

сканирование удаленных/потерянных файлов linux
Шаг 3Предварительный просмотр и восстановление

Самое приятное в Recoverit то, что вы можете остановить сканирование в любой момент, когда найдете файл, который хотите восстановить. Вы можете предварительно просмотреть файлы, чтобы убедиться, что это те файлы, которые вы хотите восстановить. Чтобы сохранить нужные файлы, выберите их и нажмите кнопку «Восстановить».

предварительный просмотр удаленных/потерянных файлов

Программа предложит вам выбрать место, где вы хотите сохранить восстановленные файлы. Чтобы получить восстановленные данные, нажмите «Восстановить».

восстановление и сохранение удаленных/потерянных файлов
Скачать бесплатно

Для Windows Vista/7/8/10/11

Скачать бесплатно

Для macOS X 10.10 или более поздней версии

Подведение итогов

Мы рассмотрели шесть методов удаления пустых строк в Bash в Linux, а в случае случайной потери данных Wondershare Recoverit Linux Recovery - это рекомендуемое программное обеспечение для безопасного и безболезненного восстановления утраченных данных!

Статьи по теме