Коригування текстових файлів безпосередньо в Linux може виявитися доволі трудомістким завданням. Саме тому розуміння методів швидкої заміни текстових фрагментів за допомогою командного рядка є надзвичайно корисним. Якщо ви новачок у світі Linux і не впевнені, як це зробити, не хвилюйтеся! Ми покажемо вам, як легко замінити текст у файлі за допомогою команд.
Заміна тексту з використанням sed
Інструмент sed є одним з найефективніших способів заміни текстових рядків у файлах Linux. Його простота використання та висока продуктивність роблять його ідеальним вибором. Більшість дистрибутивів Linux мають sed встановленим за замовчуванням, що звільняє вас від необхідності додаткового встановлення.
Команда sed -i
є ключем до заміни тексту. Щоб почати, відкрийте термінал. Найшвидший спосіб – натиснути комбінацію клавіш Ctrl + Alt + T.
У терміналі введіть sed -i
. Це початок вашої команди.
sed -i
Далі, додайте одинарні лапки '
. Ці лапки важливі, оскільки вони обмежують текст команди sed.
sed -i '
Після відкриваючої лапки введіть s/
. Це означає “замінити”.
sed -i 's/
Наступним кроком є зазначення тексту, який ви хочете замінити. Для прикладу, візьмемо слово “яблуко”.
sed -i 's/яблуко
Тепер вкажіть, на який текст потрібно замінити старий. Наприклад, замінимо “яблуко” на “апельсин”.
sed -i 's/яблуко/апельсин
Завершіть команду, додавши /g
. Цей параметр вказує sed замінити всі входження слова “яблуко” на “апельсин”. Команда буде виглядати так:
Примітка: Якщо ви хочете замінити лише перше входження, видаліть параметр g
(наприклад, sed -i 's/яблуко/апельсин/'
).
sed -i 's/яблуко/апельсин/g'
Нарешті, вкажіть шлях до файлу, в якому потрібно замінити текст. У нашому прикладі, файл fruit.txt
знаходиться в домашньому каталозі.
sed -i 's/яблуко/апельсин/g' ~/fruit.txt
Натисніть Enter, щоб виконати команду. Текст у файлі буде замінено.
Заміна тексту за допомогою Perl
Інший ефективний метод заміни тексту в Linux – використання мови програмування Perl. Perl відомий своєю потужною обробкою тексту і, звісно, може легко замінити текстові рядки у файлах.
Переконайтеся, що Perl встановлений на вашому комп’ютері. Зазвичай, він вже є в більшості дистрибутивів Linux. Якщо ні, зверніться до інструкцій з встановлення для вашої операційної системи.
Відкрийте термінал (Ctrl + Alt + T) і введіть perl -pe
. Ця команда необхідна для заміни тексту.
perl -pe
Після perl -pe
додайте одинарну лапку '
. Вона обмежує команду заміни тексту.
perl -pe '
За лапкою введіть s/
, потім текст, який потрібно замінити, і ще один /
. Наприклад, щоб замінити “яблуко”, ви повинні написати:
perl -pe 's/яблуко/
Далі, вкажіть текст, на який потрібно замінити старий. Наприклад, замінимо “яблуко” на “апельсин”. Команда буде виглядати так: perl -pe 's/яблуко/апельсин/'
.
perl -pe 's/яблуко/апельсин/
Тепер потрібно вказати файл, в якому виконується заміна. Наприклад, fruit.txt
.
Примітка: У цьому прикладі fruit.txt
знаходиться в домашньому каталозі (~/). Замініть ~/fruit.txt
на фактичний шлях до вашого файлу.
perl -pe 's/яблуко/апельсин/' ~/fruit.txt
Коли всі елементи команди будуть введені, вона буде виглядати приблизно так:
perl -pe 's/яблуко/апельсин/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt
Після виконання цієї команди, вказаний текст буде замінено новим. Щоб побачити зміни, введіть команду:
cat fruit.txt