Вступление
В большинстве случаев при работе с текстовым файлом он может содержать пробелы. Эти пробелы могут варьироваться от нескольких символов до нескольких пустых или свободных от информации строк. Сохранение таких файлов с ненужными пробелами может занять много времени и быть неудобным. Может быть несколько причин для сохранения этих файлов, но лучший способ справиться с ними — избавиться от пустых строк. В этой статье рассматривается команда Unix sed и ее использование для удаления пустых строк в файле.
Что такое Сэд?
Sed означает потоковый редактор. Это неинтерактивный редактор командной строки. Он в основном используется для редактирования и фильтрации файлов. Sed чаще всего используется в сценариях, где он используется для последовательного изменения одного или нескольких файлов. Sed можно использовать для выполнения последовательности действий по редактированию одного файла или группы файлов. Его можно использовать для удаления строк и слов в файле, замены слов и даже добавления текста в определенные места в файле.
Как удалить строку
sed
можно использовать для удаления строк из файла с помощью команды d
. Общий формат:
sed '<range>d' <file>
<range>
может быть конкретным номером строки или диапазоном строк, например, 2d
удаляет вторую строку файла, а 2,5d
удаляет строки 2-5 файла.
Пример удаления третьей строки файла file.txt:
sed '3d' file.txt
Пример удаления строк 2-5 файла file.txt:
sed '2,5d' file.tx
sedsed
Удалить последнюю строку из файла
Используйте команду $d с параметром строки sed, чтобы удалить последнюю строку или строку нижнего колонтитула из файла. Следующая команда удалит последнюю строку из file_file_name.csv:
sed '$d' nome_file
Удалить строки, кроме первой строки
Используйте оператор отрицания (!) с параметром d в команде sed. Следующая команда sed удаляет все строки, кроме заголовка:
sed '1!d' nome_file
Удалить строки, отличные от указанных
Используйте оператор отрицания (!) с параметром d в команде sed. Следующая команда sed удаляет все строки, кроме строк со 2 по 5:
sed '2,5!d' nome_file
Удалить первую и последнюю строку
sed '1d;$d' file_name
Удалить пустые строки или пустые строки
Команду sed можно использовать для удаления пустых строк в текстовом файле. Для этого вы можете использовать следующую команду:
sed '/^$/d' file_name
Приведенная выше команда удаляет все пустые строки из указанного файла. Любая строка, содержащая один пробел, не считается отдельной строкой.
Удалить строки, начинающиеся с указанного символа
sed '/^t/d' numbers.csv
Удалить строки, которые заканчиваются указанным символом
sed '/t$/d' numbers.csv
Удалить строки, содержащие шаблон
sed '/pattern/d' numbers.csv
Заключение
Вы всегда должны очищать текстовые файлы перед дальнейшей обработкой, так как они могут содержать нежелательные символы, такие как табуляция, новая строка, пробел и т. д. Sed предлагает несколько способов удаления строк, слов или даже символов из файла. Просто введите нужную операцию в командной строке и все!