▷ Како користити СЕД команду у Линуку - ПРИМЕРИ

Линук је систем пун команди у којима свака игра битну улогу у понашању одређених задатака, било да се ради о управљању корисницима, објектима или подршци, свака команда има своје учешће у Линуксу, а једна од ових команди је Сед о којој ћемо говорити код Солветића у детаље.

Шта је сед команда у ЛинуксуКоманда сед је дословно уређивач тока који можемо користити за измену радова на тексту са основним функцијама у улазном току било из датотеке или уноса из цевовода ако је применљиво.

За разлику од других уређивача текста, код сед -а је могуће филтрирати текст у току док прелазимо преко изабраног садржаја.

ПредностПредности коришћења сед -а на Линук -у су:

  • Можемо одабрати текст
  • У могућности смо да заменимо текст
  • Додајте редове у текст
  • Можемо уклонити редове из текста
  • Омогућава вам да измените или сачувате оригиналну датотеку

Општа синтакса за коришћење сед је следећа:

 сед ОПТИОНС… [СЦРИПТ] [ИНПУТ_ФИЛЕ…]
Научићемо неке начине коришћења ове команде на Линук -у.

1. Како се користи СЕД команда у Линук -у

Основна употреба седУ овом примеру ћемо користити "ецхо" да видимо како наредба сед може да замени део унетог текста, уносимо:

 ецхо солвитиц | сед 'с / витиц / ветиц /'
У овом случају говоримо сед -у да замијени ријеч „витиц“ са „ветиц“, а притиском на Ентер ово ће бити резултат:

ЕНЛАРГЕ

Видимо да је промена аутоматска.

2. Одабир текста наредбом СЕД Линук

Корак 1
У овом случају имаћемо текстуалну датотеку која се налази на радној површини:

ЕНЛАРГЕ

Сада ћемо користити следећи ред:

 мање Солветиц.ткт
Корак 2
Када притиснете Ентер ово ће бити резултат:

ЕНЛАРГЕ

Са сед -ом је могуће изабрати неке редове датотеке, за то морамо навести почетне и последње редове распона за избор, на пример, ако желимо да издвојимо редове од два до седам извршавамо:

 сед -н '2,7п' Солветиц.ткт
Корак 3
Видећемо следеће:

ЕНЛАРГЕ

Морамо имати на уму зарез у опсезима који се додељују (2,7), параметар п означава да значи "штампа одговарајуће линије", са тим ће наредба сед исписати све линије тог опсега и -н (тихо ) опција води рачуна да не прикаже текст који не одговара том опсегу.

Корак 4
Параметар -е (израз) можемо користити за вишеструки одабир, на пример:

 сед -н -е '1,2п' -е '5,6п' Солветиц.ткт

ЕНЛАРГЕ

Корак 5
Помоћу сед је могуће изабрати почетну линију, затим означавамо коју треба прећи у датотеци и одштампати алтернативне редове, на пример, уносимо:

 сед -н '1 ~ 3п' Солветиц.ткт
У овом случају први број се односи на стартну линију, а други број говори које ће се линије након стартне линије приказати:

ЕНЛАРГЕ

Корак 6
Друга употреба сед -а је могућност одабира редова у којима се налазе одговарајући текстуални обрасци, ово ако не знамо одакле потиче број реда, можемо извршити следеће:

 сед -н ' / Рун / п' Солветиц.ткт

ЕНЛАРГЕ

Видећемо редове који почињу тим изразом.

3. Како креирати замене помоћу СЕД Линука

Корак 1
У основном делу смо видели како заменити текст користећи сед, тамо смо користили -с (супституција) параметар. Затим први низ означава образац претраживања, а други се односи на текст којим ће се заменити.

 сед -н 'с / таскс / ацтионс / п' Солветиц.ткт 
У овом примеру замењујемо „задатке“ са „радње“:

ЕНЛАРГЕ

Корак 2
Са параметром п сед, он се аутоматски зауставља након првог подударања, да бисмо извршили глобалну претрагу и уопште извршили промену, морамо додати „г“:

 сед -н 'с / таскс / ацтионс / гп' Солветиц.ткт
Ако желимо да не разликује велика и мала слова, додаћемо „и“:
 сед -н 'с / таскс / ацтионс / гпи' Солветиц.ткт
Корак 3
Могуће је створити ограничења замене само за одређене делове датотеке, пре свега наводимо редове за анализу:
 сед -н '1,3п' Солветиц.ткт

ЕНЛАРГЕ

Корак 4
Погледајмо следеће, можемо пронаћи где постоје два размака и заменити их једним:

 сед -н '1,3 с / * / / гп' Солветиц.ткт
Звездица (*) представља нулу или више претходно изабраног знака.

Корак 5
Образац претраживања можете смањити на један размак следећом командом:

 сед -н '1,3 с / * / / гп' Солветиц.ткт
Видимо разлику у резултатима:

ЕНЛАРГЕ

У овом другом случају, звездица одговара нули или више претходног карактера, што чини да сваки знак који није размак изгледа као „нулти размак“ применом наредбе.

Корак 6
Да бисмо извршили две или више замена истовремено, извршавамо:

 сед -н -е 'с / извршено / примењено / гип' -е 'с / задаци / радње / гип' Солветиц.ткт

ЕНЛАРГЕ

4. Опције замене СЕД -а на Линук -у


Такође можемо користити сед за извлачење назива датотека из система, у овом случају морамо имати на уму да сваки објекат мора да се подудара са шаблоном за претрагу (подизрази) који може бити нумерисан (до највише девет елемената).

Корак 1
Ови бројеви се затим могу користити за позивање на одређене подизразе.
Подизраз мора бити затворен у заграде [()], а заградама мора претходити коса црта (\) тако да се не открију као нормални знак, на пример:

 сед 'с / \ ([^:] * \). * / \ 1 /' / етц / пассвд

ЕНЛАРГЕ

Променљиве које се користе у овој команди су

  • сед 'с /: означава наредбу сед и почетак израза замене.
  • \ (: приложи подизраз, коме претходи обрнута коса црта
  • [^:] *: је први подизраз појма за претрагу који садржи групу између заграда, знак карете (^) значи „не“ када се користи у групи, односно било који знак који није двотачка
  • \): Затворна заграда [)] са обрнутом косом цртом
  • . *: је други подизраз претраживања који означава „било који знак и било који њихов број“.
  • / \ 1: је заменски део израза који садржи број 1 коме претходи обрнута коса црта (\) и означава да се текст подудара са првим подизразом
  • / ': завршава сед наредбу

Корак 2
Претходном командом тражили смо било који низ знакова који не садржи двотачку, јер сваки ред датотеке / етц / пассвд почиње корисничким именом које завршава двотачком. Ту вредност можемо заменити изоловањем корисничког имена следећом командом:

 сед 'с / \ ([^:] * \) \ (. * \) / \ 2 /' / етц / пассвд

ЕНЛАРГЕ

Корак 3
Можемо приказати само корисничка имена следећом командом:

 сед 'с /:.*// "/ етц/ пассвд
Друга опција са седом је да користите параметар ц (цут - цут) да замените текст у датотеци, на пример:
 сед ' / Линук / ц Линук оперативни систем' Солветиц.ткт

ЕНЛАРГЕ

5. Уметните редове и текст помоћу СЕД -а у Линук

Корак 1
Још један задатак који можете користити са седом је уметање нових редова и текста у датотеку, у овом случају имамо следеће податке:

ЕНЛАРГЕ

Корак 2
Можемо да уметнемо нову линију која наводи испод које ће бити уметнута:

 сед ' / Уб / а -> Уметнуто!' Солветиц.ткт

ЕНЛАРГЕ

Корак 3
Такође је могуће користити команду Инсерт (и) да бисте уметнули нову линију изнад подударања:

 сед ' / Ви / и -> Уметнуто!' Солветиц.ткт

ЕНЛАРГЕ

Корак 4
Можемо да користимо знак амперсанд (&) да бисмо додали нови текст у одговарајући ред у датотеци, извршавамо:

 сед 'с /.*/--> Уметнут & /' Солветиц.ткт

ЕНЛАРГЕ

6. Како избрисати линију помоћу СЕД Линука


У овом случају морамо користити параметар д (брисање) да бисмо, на пример, избрисали другу линију коју извршавамо:
 сед '2д' Солветиц.ткт

ЕНЛАРГЕ

Ако је потребно, можемо уклонити опсег:

 сед '1,4д' Солветиц.ткт
Да бисмо уклонили линије изван опсега, морамо користити узвичник (!) На следећи начин:
 сед '2,4! д' Солветиц.ткт

7. Како сачувати промене помоћу СЕД -а у Линук -у

Корак 1
Да бисте применили извршене измене, могуће је користити опцију Ин-плаце (-и) како би сед уписао промене у оригиналну датотеку, али ради веће безбедности можемо додати резервно проширење на следећи начин (направили смо резервну копију редови који садрже реч Ви):

 сед -и'.бак '' /^.*Ви.*$/д 'Солветиц.ткт
Наводимо садржај:
 мачка Солветиц.ткт.бак

ЕНЛАРГЕ

Корак 2
Могуће је преусмерити излаз у нову датотеку са истим резултатима:

 сед -и'.бак '' /^.*Ви.*$/д 'Солветиц.ткт> Солветиц1.ткт

ЕНЛАРГЕ

Са сед -ом можемо радити са датотекама на потпуно потпун начин у Линук -у јер смо видели сваку од његових опција коришћења.

wave wave wave wave wave