САС - Замена

  • Основная замена
    • просто
    • Глобальный
    • целенаправленные
  • Условное замещение
    • упрощенный
    • продвинутый
  • блок
    • Расширенное использование

Команда замены: [s. ] изменяет все вхождения регулярного выражения на новое значение.

Основная замена

просто

Только 1-й матч (каждая строка)

sed 's / la / LA /' file.txt

Глобальный

Все встреченные случаи (каждая строка)

sed 's / la / LA / g' file.txt

целенаправленные

Только 2-е вхождение (каждая строка)

 sed 's / la / LA / 2' file.txt 

Условное замещение

упрощенный

/ объяснение / - только если строка содержит «объяснение»

 sed '/ awk / s / sed / SED /' file.txt 

Номер строки - Только строка без "N"

 sed '18 s / sed / SED / 'file.txt 

/ Regex / - Только если есть соответствие с регулярным выражением

 sed '/ ^ [] [Ss] ed / s / ed / ED / g' file.txt 

продвинутый

0, / regex / - найден только 1-й случай

 sed '0, / sed / s // SED /' file.txt 

блок

/ объяснение1 /, / объяснение2 / - Только между "объяснение1 - объяснение2"

 sed '/ start /, / End / s / ed / ED /' file.txt # Найден только 1-й случай 

 sed '/ Start /, / End / s / ed / ED / g' file.txt # all case 

8, 13 - только между строками 8-13

 sed '8, 13 s / ed / ED / g' file.txt 

Мы также можем объединить разум и линию

 sed '8, / End / s / ed / ED / g' file.txt sed '/ Start /, 13 s / ed / ED / g' file.txt 

Или с "регулярным выражением"

 sed '/ Start /, $ s / ed / ED / g' file.txt # до конца ($) sed '/ ^ [] [Ss] ed /, 13 s / ed / ED /' file.txt 

Расширенное использование

Заменить любой текст между двумя основаниями, исключая основания

 sed '/ Start /, / End / {/ Start / b; / End / b; s /.*/ SED - Стрим Ã ‰ Ditor /; } 'file.txt 
Предыдущая статья Следующая статья

Лучшие советы