Тези 10 примера за Sed ще ви направят Linux потребител

Тези 10 примера за Sed ще ви направят Linux потребител

Редактирането на текстови файлове и терминален изход е ежедневна работа за тези, които администрират Linux машини. Помощните програми на командния ред като sed позволяват на потребителя да променя и променя съдържанието на текстов файл направо от прозореца на терминала.





В тази статия ще обсъдим подробно командата sed, заедно с някои съществени примери, които демонстрират силата на помощната програма sed в Linux.





Какво представлява командата sed?

Командата sed, която е акроним за Редактор на потоци , е инструмент от командния ред, който позволява на потребителите на Linux да извършват текстови операции върху файлове и терминални изходи. Използвайки sed, потребителите могат да намират и заменят конкретни думи в текст, да показват определен раздел от изхода и да редактират текстови файлове, без да ги отварят.





Трите основни операции, поддържани от командата sed, са:

  1. Вмъкване
  2. Изтриване
  3. Замяна (Намерете и заменете)

Разширените потребители също могат да внедряват регулярни изрази с командата sed за по -ефективно редактиране на текстови потоци.



Основният синтаксис на командата е:

sed [options] [pattern] [filepath]

...където настроики са различните функционалности на командата, модел е регулярният израз или скриптът, който искате да съпоставите, и файлова пътека е пътят към текстовия файл, който съдържа текста.





готини неща за свързване с терминал

10 примера за Linux sed команда

Ако планирате да станете обикновен потребител на Linux, знанието как да редактирате файлове, да търсите и заменяте определени думи и да филтрирате терминалния изход може да ви бъде полезно. Този раздел обхваща някои примери за командата sed, която определено ще ви превърне в силен потребител на Linux.

Ще използваме следния текстов файл за демонстрация в публикацията.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Преглед на диапазон от линии

Командите на Linux, като главата и опашката, извеждат първите или последните десет реда на текстов файл. Но какво, ако искате да получите съдържанието между два конкретни реда във файл? В такива ситуации командата sed може да бъде полезна.

За извеждане на съдържанието между редове 3 и 5 на файла textfile.txt :

sed -n '3,5p' textfile.txt

The flag предотвратява sed да показва пространството на шаблона в края на всеки цикъл. Можете също да използвате -тихо и -мълчалив опции вместо . The стр аргументът означава печат и се използва за показване на съответстващите редове на потребителя.

Изпълнението на гореспоменатата команда в примерния файл произвежда следния изход.

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

За да изведете цялото съдържание на файла, с изключение на посочения диапазон, използвайте д флаг вместо стр в командата:

sed '3,5d' textfile.txt

The д flag изтрива съответстващите низове от изхода и показва останалата част от съдържанието.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Показване на последователни линии

За да отпечатате последователни редове между множество диапазони във файла:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Изход:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

The флагът помага изпълнение множество действия, използващи една команда.

3. Поставете интервал между редовете

Ако по някаква причина искате да вмъкнете празни редове между всеки ред в текстов файл, използвайте G аргумент с командата sed по подразбиране.

можете да получите достъп до интернет на roku
sed G textfile.txt

За да вмъкнете множество празни редове в изхода, предайте няколко G аргументи, разделени от точка и запетая ( ; ) характер.

sed 'G;G' textfile.txt

4. Заменете Word в текстов файл

Ако искате да замените всяко появяване на определена дума с друга, използвайте с и g аргументи с командата. Основният синтаксис за заместване на думи с помощта на командата sed е:

sed s/originalword/replaceword/g filename

Използвайки гореспоменатия синтаксис, можете да замените думата невероятно с супер във файла textfile.txt :

sed s/amazing/super/g textfile.txt

The с аргументът обозначава заместване и g команда се използва за замяна на съвпадащото съдържание с посоченото заместващо съдържание.

За да замените второто появяване на думата със sed, предайте число на g аргумент. В такъв случай:

sed s/amazing/super/g2 textfile.txt

Ако искате да игнорирате регистрите на букви, докато замествате думи, използвайте давам вместо g , където i означава игнорира случай.

sed s/Amazing/super/gi textfile.txt

Свързани: Използвате Vi? Ето как да отворите файл, след което да запишете и да излезете

5. Заменете думи в рамките на диапазон

Можете също така да замените думи в определен диапазон.

sed '2,5s/amazing/super/g' textfile.txt

6. Извършете няколко замествания наведнъж

Ако искате да извършите две или повече замествания наведнъж, просто отделете командите с точка и запетая ( ; ) характер.

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

Системата ще покаже следния изход.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. Заменете думи само ако се намери съвпадение

Можете също да използвате командата sed, за да замените дума само ако в реда е намерено дадено съвпадение. Например, за да замените думата да се с а ако думата оранжево присъства в реда:

sed -e '/orange/ s/a/an/g' textfile.txt

Издаването на гореспоменатата команда ще изведе:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Обърнете внимание, че думата да се в линията Това е ябълка не беше заменен, тъй като системата не намери думата оранжево в него.

8. Заменете думи, използвайки редовни изрази

За тези, които знаят как да използват регулярни изрази, извършването на операции върху низове с помощта на командата sed става много по -лесно. Можете да внедрите регулярни изрази, за да подобрите силата на командата.

За да замените всички появявания на думата Удивително или невероятно с супер :

sed -e 's/[Aa]mazing/super/g' textfile.txt

По подобен начин можете също да използвате разширени регулярни изрази за изпълнение на конкретни операции с помощта на командата sed.

9. Тръба sed с други команди

Можете да свързвате sed и с други Linux команди. Например, можете да изпратите lspci команда със sed за добавяне на празни пространства между редовете в изхода.

lspci | sed G

За да замените конкретни думи в изхода на ip маршрутно шоу команда:

ip route show | sed s/src/source/g

Гореспоменатата команда замества думата източник на мястото на оригиналната дума src .

Свързани: Как да използвате командата Find за търсене на файлове в Linux

10. Редактирайте и архивирайте оригиналния файл

Когато работите със системни файлове, архивирането на оригиналния файл, докато правите промени, е важно. Това ще ви помогне да отмените промените в случай, че нещо се счупи.

За да архивирате оригиналния файл с помощта на sed, използвайте флаг в командата.

как да намерите изоставени места за изследване
sed -i'.backup' 's/amazing/super/g' textfile.txt

Ще бъде създаден нов файл с името textfile.txt.backup . Можете да проверите дали двата файла са различни, като използвате разл команда.

diff textfile.txt textfile.txt.backup

Редактиране на низове в Linux С sed

Понякога, докато работите с текстови файлове на терминала, форматирането и редактирането на изхода за по -добра четливост става задължително. Sed и awk са помощни програми за командния ред в Linux, които позволяват на потребителя да работи ефективно с текстови файлове, като разделя данните на отделни редове.

Много потребители трудно запомнят аргументите и флаговете на командата sed, тъй като има много от тях, които са достъпни за използване. Знанието как да получите ръководства за командния ред за всяка команда на Linux ще ви помогне да излезете лесно от такива ситуации.

Дял Дял Туит електронна поща 7 начина да получите помощ от командния ред за Linux

Всички основни команди за изучаване на Linux команди от командния ред

Прочетете Напред
Свързани теми
  • Linux
  • Текстов редактор
  • Терминал
  • Командния ред
За автора Дийпеш Шарма(79 статии са публикувани)

Deepesh е младши редактор за Linux в MUO. Той пише информационни ръководства за Linux, като има за цел да осигури блажено преживяване на всички новодошли. Не съм сигурен за филмите, но ако искате да говорите за технологии, той е вашият човек. В свободното си време можете да го намерите да чете книги, да слуша различни музикални жанрове или да свири на китара.

Още от Deepesh Sharma

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате
Категория Linux