Как да замените новия ред със запетая с помощта на командата `sed`

How Replace Newline With Comma Using Sed Command



Всеки знак или низ може да бъде заменен с помощта на командата `sed`. Понякога трябва да заменим символа за нов ред ( n) във файл със запетая. В тази статия използваме командата `sed`, за да заменим n със запетая.

Използвайте `sed`, за да замените n със запетая

При замяна на n със запетая могат да възникнат много проблеми. По подразбиране всеки ред завършва с n при създаване на файл. Командата `sed` може лесно да се раздели на n и да замени новия ред с всеки знак. Друг разделител може да се използва вместо n, но само когато се използва GNU sed. Когато n липсва в последния ред на файла, GNU sed може да избегне отпечатването n. Освен това n обикновено се добавя към всеки пореден изход на `sed`.







Създайте файл

В тази статия ще ви покажем как да използвате командата `sed`, за да замените n със запетая. За да следвате този урок, създайте текстов файл с име Clients.txt със следната таблична информация за клиента.



документ за самоличност Име електронна поща Телефон
c01 Md. Ракиб [защитен имейл] 01856233238
c02 Мехер Афрозе [защитен имейл] 01733536342
c03 Факрул Ахсан [защитен имейл] 01934737248
c04 Хелал Уддин [защитен имейл] 01534895898
c05 Нусрат Джахан [защитен имейл] 01866345254

Пример 1: Заменете n със запетая, използвайки -z

Опцията -z се използва за преобразуване на n в нулевия знак ( 0). Съдържанието на файла се третира като един ред, ако не съдържа нулеви знаци. Командата `sed` ще преобразува новия ред в нулев знак и ще замени всеки n със запетая, като използва първия модел за търсене и замяна. Тук „g“ се използва за глобално търсене на n. С втория модел за търсене и замяна последната запетая ще бъде заменена с n.



$коткаClients.txt

$sed 's/ n/,/g; s/, $/ n/'Clients.txt

Следният изход ще бъде произведен след изпълнение на командите.





Пример 2: Заменете n със запетая, използвайки a, b, $! и Н.

Командата `sed` може да се използва за замяна на n със запетая чрез използване a, b, N и $! . Тук, да се се използва за добавяне на задачи, б се използва за разклоняване на съдържанието, н се използва за преминаване към следващия ред и $! се използва, за да се предотврати прилагането на задачата за подмяна към последния ред. Командата ще замени всяка н със запетая, с изключение на последния ред.



$коткаClients.txt

$sed ': a; N; $! ba; s/ n/,/g'Clients.txt

Следният изход ще бъде произведен след изпълнение на командите.

Пример 3: Заменете n със запетая, използвайки H, h, d, x и y

Ако искате да замените н) със запетая в малък файл, тогава може да се използва следната команда `sed`. Тук, З се използва за добавяне на последния ред към задържащия текст, 1h се използва за копиране на всеки ред от файла в задържащия текст от първия ред, $! d се използва за изтриване на всички редове с изключение на последния ред, х се използва за обмен на задържащ текст и пространство за шаблони и и се използва за замяна на всяка н в задържания текст със запетая.

$коткаClients.txt

$sed 'H; 1h; $! D; x; y/ n/,/'Clients.txt

Следният изход ще бъде произведен след изпълнение на командите.

Пример 4: Заменете n със запетая, използвайки -n, H, h, g и p

Командата `sed` може да се използва за замяна н със запетая с опция, която предотвратява автоматичния печат. Както в предишния пример, З се използва тук за добавяне на последния ред към задържащия текст, се използва за копиране на всеки ред от файла в задържащия текст, $ се отнася до последния ред на файла, g се използва за копиране от задържащия текст и стр се използва за печат.

$коткаClients.txt

$sed'H; 1h; ${g; s /н/,/личен лекар}'Clients.txt

Следният изход ще бъде произведен след изпълнение на горните команди.

Пример 5: Заменете n със запетая, използвайки H, x, p

H, x и p са обяснени в предишни примери. Първият израз за търсене и замяна ще замени всеки н със запетая, а вторият израз за търсене и замяна ще замени запетая в началото на ред с интервал.

$коткаClients.txt

$sed'H; $ {x; s/ n/,/g; s/^, //; p;}'Clients.txt

Следният изход ще бъде произведен след изпълнение на горните команди.

Пример 6: Заменете n със запетая, използвайки N и `cat '

Командата `cat` се използва тук за изпращане на съдържанието на файла до командата` sed` и н се използва за преминаване към следващия ред.

$коткаClients.txt

$коткаClients.txt| sed 'N; s/ n/,/'

Следният изход ще бъде произведен след изпълнение на горните команди.

Заключение

Може да се наложи да замените n със запетая, за да прехвърлите данни от един файлов формат в друг. Този вид замяна може да се извърши и с помощта на други команди на Linux. Много опции за команда, като H, N, h и x, могат да бъдат използвани с командата `sed` за изпълнение на тази задача. Този урок разглежда няколко начина да използвате командата `sed`, за да замените n със запетая.