Како користити Сед у Линуку

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

Овај тип уређивача текста се такође може категорисати као неинтерактивни уређивач текста.

Хајде да видимо неке уобичајене опције за уређивање датотека помоћу Сед-а. Узећемо следећу датотеку као пример:

$: цат тест.ткт Брзи смеђи пас је прескочио лењу мачку. Линук оперативни систем. Шума код мене има мачку као и вукове. 

Претражи и замени

Да бисте потражили стринг у датотеци и заменили га другим низом, покрените:

сед -и "с/цат/фок/г" тест.ткт

Ево, флаг налаже сед-у да упише промене у датотеку. Без ове заставе, сед само ће приказати датотеку са промењеним низом.

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

Регек се такође може користити овде.

сед -и "с/ф[а-з]*\./цат\./г"

Уметните

Да бисте уметнули текст испред реда са одговарајућим низом, користите:

сед -и "/цат/и Старт:" тест.ткт

овде, мачка је тражени низ и Почетак: је стринг који треба унети пре реда у коме се налази тражени низ.

Слично томе, да бисте уметнули текст после реда, користите:

сед -и "/лисица/а Крај." тест.ткт

Избриши

Да бисте избрисали ред који садржи подниз, користите:

сед -и "/Линук/д" тест.ткт

Да избришете ред са бројем реда, нпр. први ред, користите:

сед -и '1д' тест.ткт

Комбиновање више функција

За комбиновање више функција, нпр. претражи и замени, избриши, једном командом, може се користити застава.

сед -и -е "с/фок/цат/г" -е '2д' тест.ткт

? Живели!