Любой символ или строку можно заменить с помощью команды sed. Иногда нам нужно заменить символ новой строки (\ n) в файле запятой. В этой статье мы используем команду sed для замены \ n запятой.
Использование sed для замены \ n запятой
Многие проблемы могут возникнуть при замене \ n запятой. По умолчанию каждая строка заканчивается на \ n при создании файла. Команда 'sed' может легко разделиться на \ n и заменить новую строку любым символом. Вместо \ n можно использовать другой разделитель, но только при использовании GNU sed. Когда \ n отсутствует в последней строке файла, GNU sed может избежать печати \ n. Кроме того, \ n обычно добавляется к каждому последовательному выводу 'sed'.
Создать файл
В этой статье мы покажем вам, как использовать команду sed для замены \ n запятой. Чтобы следовать этому руководству, создайте текстовый файл с именем Клиенты.текст со следующей табличной информацией о клиенте.
Я БЫ | Имя | Электронное письмо | Телефон |
---|---|---|---|
c01 | Мкр. Ракиб | [электронная почта защищена] | 01856233238 |
c02 | Мехер Афрозе | [электронная почта защищена] | 01733536342 |
c03 | Факрул Ахсан | [электронная почта защищена] | 01934737248 |
c04 | Хелал Уддин | [электронная почта защищена] | 01534895898 |
c05 | Нусрат Джахан | [электронная почта защищена] | 01866345254 |
Пример 1. Замените \ n запятой, используя -z
Параметр -z используется для преобразования \ n в нулевой символ (\ 0). Содержимое файла рассматривается как одна строка, если она не содержит нулевых символов. Команда 'sed' преобразует новую строку в нулевой символ и заменит каждый \ n запятой, используя первый поиск и шаблон замены. Здесь 'g' используется для глобального поиска \ n. При использовании второго шаблона поиска и замены последняя запятая будет заменена на \ n.
$ cat Клиенты.текст$ sed -z 's / \ n /, / g; s /, $ / \ n /' Клиенты.текст
Следующий вывод будет произведен после выполнения команд.
Пример 2: замените \ n запятой, используя a, b, $! и н
Команду sed можно использовать для замены \ n запятой, используя a, b, N и $!. Здесь, а используется для добавления задач, б используется для разветвления содержимого, N используется для перехода к следующей строке, а $! используется для предотвращения применения задачи замены к последней строке. Команда заменит каждый \ п с запятой, кроме последней строки.
$ cat Клиенты.текст$ sed ': a; N; $!ba; s / \ n /, / g 'Клиенты.текст
Следующий вывод будет произведен после выполнения команд.
Пример 3. Замените \ n запятой, используя H, h, d, x и y
Если вы хотите заменить \ п) с запятой в небольшом файле, тогда можно использовать следующую команду sed. Здесь, ЧАС используется для добавления последней строки к удерживаемому тексту, 1h используется для копирования каждой строки файла в удерживающий текст из первой строки, $!d используется для удаления всех строк, кроме последней строки, Икс используется для обмена удерживающим текстом и пространством шаблона, и у используется для замены каждого \ п в удерживающем тексте через запятую.
$ cat Клиенты.текст$ sed 'H; 1h; $!d; x; y / \ n /, / 'Клиенты.текст
Следующий вывод будет произведен после выполнения команд.
Пример 4. Замените \ n запятой, используя -n, H, h, g и p
Команду sed можно использовать для замены \ п через запятую с -п опция, предотвращающая автоматическую печать. Как в предыдущем примере, ЧАС здесь используется для добавления последней строки к удерживаемому тексту, 1 час используется для копирования каждой строки файла в удерживающий текст, $ относится к последней строке файла, грамм используется для копирования из удерживаемого текста, и п используется для печати.
$ cat Клиенты.текст$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" Клиенты.текст
Следующий вывод будет произведен после выполнения вышеуказанных команд.
Пример 5. Замените \ n запятой, используя H, x, p
H, x и p были объяснены в предыдущих примерах. Первое выражение поиска и замены заменит каждое \ п с запятой, а второе выражение поиска и замены заменит запятую в начале строки на пробел.
$ cat Клиенты.текст$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' Клиенты.текст
Следующий вывод будет произведен после выполнения вышеуказанных команд.
Пример 6. Замените \ n запятой, используя N и cat
Команда 'cat' используется здесь для отправки содержимого файла команде 'sed' и N используется для перехода к следующей строке.
$ cat Клиенты.текст$ cat Клиенты.txt | sed 'N; s / \ n /, /'
Следующий вывод будет произведен после выполнения вышеуказанных команд.
Заключение
Может потребоваться заменить \ n запятой для переноса данных из одного формата файла в другой. Этот тип замены также можно выполнить с помощью других команд Linux. Многие параметры команды, такие как H, N, h и x, можно использовать с командой sed для выполнения этой задачи. В этом руководстве рассматривается несколько способов использования команды sed для замены \ n запятой.