sed

Як вставити рядок після матчу, використовуючи 'sed'?

Як вставити рядок після матчу, використовуючи 'sed'?

Однією з корисних та потужних команд Linux є команда “sed”. Ця команда використовується для виконання різних типів завдань у Linux, таких як вставка, оновлення та видалення певного тексту чи рядка на основі відповідності. Ви можете вставити текст у рядок або файл різними способами, використовуючи команду “sed”.

Як вставити рядок після пошуку відповідності в рядку чи рядку, показано в цьому посібнику.

Вставте рядок у рядок

Новий рядок можна вставити після будь-якого значення рядка за допомогою команди “sed”, якщо шаблон, визначений у команді, збігається з будь-якою частиною значення рядка.

Наступний приклад показує, як новий рядок можна додати після значення рядка, якщо певний рядок існує де-небудь у значенні рядка.

Приклад-1: Вставте рядок у рядок після пошуку відповідності

Наступна команда буде шукати “inng” у рядку, “Мені подобається програмування” та рядок тексту, “Чи подобається вам програмувати?”Буде вставлено після рядка, якщо рядок пошуку існує.

Тут символ “&” використовується для вставки рядка після рядка.

$ echo "Мені подобається програмувати."| sed 's / inng / & Вам подобається програмувати?/ '

Наступний результат показує, що “inng” не існує в рядку, і після рядка не вставляється рядок.


Наступна команда буде шукати “ing."У рядку," Мені подобається програмування ", і воно існує в рядку.

$ echo "Мені подобається програмувати."| sed 's / ing./ & Вам подобається програмувати?/ '

Наступний результат показує, що новий рядок додається після рядка.

Вставте рядок у файл

Існує два способи вставити рядок після того, як збіг буде знайдено у файлі, який згаданий нижче. Коли команда «sed» використовується без опції «-i», вміст файлу залишатиметься незмінним, а на виході відображатиметься вміст файлу із вставленим новим рядком. Вам потрібно скористатися опцією “-i” з командою “sed”, щоб назавжди вставити новий рядок у файл, якщо у файлі існує відповідний шаблон.

A. Використання “a” в команді “sed”

"A" може використовуватися в шаблоні пошуку "sed", щоб додати один або кілька рядків у файл після рядка, де шаблон пошуку відповідає, або після певного номера рядка.

B. Використання “i” в команді “sed”

"I" можна використовувати в шаблоні пошуку команди "sed", щоб вставити один або кілька рядків у файл перед рядком, де шаблон пошуку відповідає.

Вставте рядки в файл за шаблоном:

Створіть текстовий файл, розділений табуляцією, з іменем продуктів.txt із наступним вмістом, щоб показати використання вищезазначеного прапора в команді “sed”.

продуктів.txt

Ім'я посвідчення особи
01 Збиті вершки
02 Какао-порошок
03 Цукор
04 Яйце
05 Борошно

Приклад-2: Вставте рядок після певного номера рядка, використовуючи "a"

Наступні команди показують, як можна додати новий рядок після певного номера рядка товарів.txt файл, заснований на шаблоні, використаному в команді “sed”.

Тут перша команда покаже наявний вміст файлу. Команда “sed” додасть текст “b01 Розпушувач” після перших двох рядків файлу. Остання команда використовується, щоб перевірити, чи змінено вміст файлу чи ні.

$ котячих продуктів.txt
$ sed '2 a b01 \ tПродукти для випічки'.txt
$ котячих продуктів.txt

Наступний результат з’явиться після запуску вищевказаної команди.

Приклад-3: Вставте рядок після останнього рядка, використовуючи "a"

Наступна команда показує спосіб додавання нового рядка після останнього рядка файлу. Перша і остання команда показує наявний вміст файлу до та після виконання команди “sed”. Символ "$" використовується в шаблоні команди "sed" для згадування останнього рядка файлу.

$ котячих продуктів.txt
$ sed '$ a b01 \ tПродукти для випічки'.txt
$ котячих продуктів.txt

Наступний результат з’явиться після запуску вищевказаної команди.

Приклад-4: Вставте рядок у будь-яке місце файлу після відповідності з шаблоном, використовуючи "a"

Наступна команда “sed” показує, як можна додати новий рядок у будь-якому місці файлу на основі відповідного шаблону. Шаблон, що використовується в команді “sed”, буде шукати будь-який рядок, що починається з “s01”, і додаватиме новий рядок після нього. Четвертий рядок файлу починається з “s01”, і новий рядок буде вставлений після цього рядка.

$ котячих продуктів.txt
$ sed '/ ^ s01.* / a b01 \ tПродукти для випічки порошку.txt
$ котячих продуктів.txt

Наступний результат з’явиться після запуску команди.


Наступна команда “sed” здійснить пошук у будь-якому рядку, який закінчується “Powder”, і вставить новий рядок після нього. Третій рядок файлу закінчується “Порошок”. Отже, новий рядок буде вставлений після цього рядка.

$ котячих продуктів.txt
$ sed '/ Powder $ / a b01 \ tПродукти для випічки'.txt
$ котячих продуктів.txt

Наступний результат з’явиться після запуску вищевказаних команд.

Приклад-5: Вставте кілька рядків після відповідного шаблону, використовуючи "a"

Наступна команда “sed” показує спосіб додавання декількох рядків всередину вмісту файлу на основі відповідного шаблону.

Тут після третього рядка буде додано два рядки відповідно до шаблону.

$ котячих продуктів.txt
$ sed '/ ^ [a-c] / a b01 \ tПорошок для випічки \ nb02 \ tСода для випічки'.txt
$ котячих продуктів.txt

Наступний результат з’явиться після запуску вищевказаних команд.

Приклад 6: Вставте рядок після узгодження з шаблоном, використовуючи “I”

$ котячих продуктів.txt
$ sed '/ cream / i b01 \ tПродукти для випічки'.txt
$ котячих продуктів.txt

Наступний результат з’явиться після запуску вищевказаних команд.

Приклад-7: Вставте рядок назавжди після відповідного шаблону, використовуючи опцію “-i”

Наступна команда “sed” показує, як назавжди змінити вміст файлу. Опція “i” використовується з командою “sed”, щоб вставити новий рядок у файл на основі шаблону.

$ котячих продуктів.txt
$ sed -i '/ e $ / a g01 \ tGhee' продукти.txt
$ котячих продуктів.txt

Наступний результат з’явиться після запуску вищевказаних команд.

Висновок:

Способи вставки двох або більше рядків у файл за допомогою команди “sed” із шаблоном були показані в цьому посібнику, щоб допомогти читачеві застосувати цю команду для вставки рядків тимчасово або назавжди на основі шаблону.

Як збільшити FPS в Linux?
FPS означає Кадри в секунду. Завданням FPS є вимірювання частоти кадрів при відтворенні відео або ігрових виставах. Простими словами кількість безпере...
Найкращі лабораторні ігри Oculus App
Якщо ви є власником гарнітури Oculus, то вам потрібно дізнатися про бокове завантаження. Бокове завантаження - це процес встановлення негарнітного вмі...
Top 10 Games to Play on Ubuntu
Windows platform has been one of the dominating platforms for gaming because of the huge percentage of games that are developing today to natively sup...