Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸ“ Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sed для автоматичСской ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

πŸ“ Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sed для автоматичСской ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄Ρ€ΡƒΠ·ΡŒΡ! πŸ§™β€β™‚οΈ Π—Π½Π°Π΅ΡˆΡŒ Π»ΠΈ Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sed ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ просто Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π° Π΄Π΅Π»Π°Ρ‚ΡŒ это максимально быстро ΠΈ Π±Π΅Π· ошибок? ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ тСбя Π΅ΡΡ‚ΡŒ сотни ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ², ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ строку β€” Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ sed прСвращаСтся Π² настоящСго гСроя! Π§Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ: - Π­Ρ‚ΠΎ инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ ΠΈ замСняСт, вставляСт ΠΈΠ»ΠΈ удаляСт строки ΠΏΠΎ шаблонам. - Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со стандартным Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎ идСально для сцСнариСв Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. - ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТныС прСобразования благодаря рСгулярным выраТСниям. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Ρ‚ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅: - Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ port=8080 Π½Π° port=9090: sed -i 's/port=8080/port=9090/' /etc/myapp/config.ini - Или ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ: sed -i '/^#/d' /etc/myapp/config.ini Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, комбинируя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: sed -i -e 's/old/new/' -e 's/foo/bar/' /etc/file Π˜Π·ΡƒΡ‡ΠΈΠ² sed, Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈ

πŸ“ Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sed для автоматичСской ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄Ρ€ΡƒΠ·ΡŒΡ! πŸ§™β€β™‚οΈ

Π—Π½Π°Π΅ΡˆΡŒ Π»ΠΈ Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sed ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ просто Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π° Π΄Π΅Π»Π°Ρ‚ΡŒ это максимально быстро ΠΈ Π±Π΅Π· ошибок? ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ тСбя Π΅ΡΡ‚ΡŒ сотни ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ², ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ строку β€” Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ sed прСвращаСтся Π² настоящСго гСроя!

Π§Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ:

- Π­Ρ‚ΠΎ инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ ΠΈ замСняСт, вставляСт ΠΈΠ»ΠΈ удаляСт строки ΠΏΠΎ шаблонам.

- Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со стандартным Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎ идСально для сцСнариСв Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

- ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТныС прСобразования благодаря рСгулярным выраТСниям.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Ρ‚ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅:

- Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ port=8080 Π½Π° port=9090:

sed -i 's/port=8080/port=9090/' /etc/myapp/config.ini

- Или ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

sed -i '/^#/d' /etc/myapp/config.ini

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, комбинируя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

sed -i -e 's/old/new/' -e 's/foo/bar/' /etc/file

Π˜Π·ΡƒΡ‡ΠΈΠ² sed, Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ систСм!

А Ρ‚Ρ‹ ΡƒΠΆΠ΅ использовал `sed` Π² своих скриптах? Π§Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ самым Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ?

- Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… статСй Ρ‚Ρ‹ Π½Π°ΠΉΠ΄Ρ‘ΡˆΡŒ Π² нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π»Π΅ https://t.me/LinuxSkill Π° вакансии для систСмных администраторов β€” Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbot

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Fail2Ban Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚! Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!