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

21 gen 2023 2 min di lettura
Как использовать команду sed для удаления строк в файле
Indice dei contenuti

Вступление

В большинстве случаев при работе с текстовым файлом он может содержать пробелы. Эти пробелы могут варьироваться от нескольких символов до нескольких пустых или свободных от информации строк. Сохранение таких файлов с ненужными пробелами может занять много времени и быть неудобным. Может быть несколько причин для сохранения этих файлов, но лучший способ справиться с ними — избавиться от пустых строк. В этой статье рассматривается команда 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 предлагает несколько способов удаления строк, слов или даже символов из файла. Просто введите нужную операцию в командной строке и все!

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.