Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«UNIX β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ срСда программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 86

Автор Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ j (ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ):

m,nj ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ строки с m ΠΏΠΎ n Π² ΠΎΠ΄Π½Ρƒ jp ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ строку со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ -,.jp ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ строку с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ принимаСтся Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ .,.+1;

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡ‰Π΅ΠΏΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ подстановки, ΠΎΡ‚Π΄Π΅Π»ΠΈΠ² Π½ΠΎΠ²ΡƒΡŽ строку:

s/part1part2/part1\part2/ Π Π°ΡΡ‰Π΅ΠΏΠΈΡ‚ΡŒ строку Π½Π° Π΄Π²Π΅ части s/ /\ /g Π Π°ΡΡ‰Π΅ΠΏΠΈΡ‚ΡŒ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρƒ. ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ слово Π½Π° строку

Π’Π΅ΠΊΡƒΡ‰Π΅ΠΉ становится послСдняя созданная строка.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹ΠΌΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΌΠΈ рСгулярными выраТСниями, Π½ΠΎ ΠΈ ΠΈΡ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ частями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ рСгулярныС выраТСния: Ссли конструкция \(...\) появляСтся Π² рСгулярном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° доступна ΠΊΠ°ΠΊ \1. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎ дСвяти ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ \1, \2 ΠΈ Ρ‚.Π΄.

s/\(...\)\(.*\)/\2\1/ ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ 3 ΠΏΠ΅Ρ€Π²Ρ‹Ρ… символа Π² ΠΊΠΎΠ½Π΅Ρ† /\(..*\)\1/ Найти строки, содСрТащиС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ смСТныС Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ символов ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

Командам r ΠΈ w (Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ) ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° строк:

nr file Π§ΠΈΡ‚Π°Ρ‚ΡŒ file; Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ послС строки n; Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ становится послСдняя прочитанная строка m,nw file ΠŸΠΈΡΠ°Ρ‚ΡŒ строки m-n Π² file; ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки Π½Π΅ измСняСтся m,nw file Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строки m-n ΠΊ file; ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки Π½Π΅ измСняСтся

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для w ΠΈ W (ΠΊΠΎΠΌΠ°Π½Π΄Π° W ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½ΠΈΠΆΠ΅ Π² Ρ‚Π°Π±Π». П.1.2) β€” это Ρ†Π΅Π»Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для r Ρ€Π°Π²Π½ΠΎ $, Ρ‡Ρ‚ΠΎ прСдставляСтся Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ed Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ использованноС имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ»ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ r, w. Команда f (Ρ„Π°ΠΉΠ») ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΈΠ»ΠΈ замСняСт имя Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°:

f ΠŸΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ имя Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° f file Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½ΠΎΠ΅ имя Π½Π° 'file'

Команда e (Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) вновь Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ed с Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ:

e ΠΠ°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» e file ΠΠ°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 'file'

Команда Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π° Ρ‚Π΅ΠΌ ΠΆΠ΅ способом, Ρ‡Ρ‚ΠΎ ΠΈ q: Ссли Π²Ρ‹ Π½Π΅ записали ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΅ Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ошибкС; Π΅ вновь ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ нСзависимо ΠΎΡ‚ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах ed связан с Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° (Π΅ filename) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈ Π²Π½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π€Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎ записи ΠΈ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ x; ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Ρ‚Π΅ΠΌ ΠΆΠ΅ способом, Ρ‡Ρ‚ΠΎ ΠΈ Π² crypt(1). Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах ΠΊΠΎΠΌΠ°Π½Π΄Π° x Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° X (ΠΏΡ€ΠΎΠΏΠΈΡΠ½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ) Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ случайностСй.

Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄

Π’ Ρ‚Π°Π±Π». П.1.2 пСрСчислСны ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Π° Π² Ρ‚Π°Π±Π». П.1.3 допустимыС Π½ΠΎΠΌΠ΅Ρ€Π° строк. КаТдой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π½ΡƒΠ»ΡŒ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Π½ΠΎΠΌΠ΅Ρ€Π° строк, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ число ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… строк, Ссли ΠΈΡ… Π½Π΅Ρ‚, принимаСтся соглашСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π—Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Π° p для Π²Ρ‹Π²ΠΎΠ΄Π° послСднСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ строки ΠΈΠ»ΠΈ 1 для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° списка. Π’Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ становится послСдняя обработанная строка; настройка Π½Π΅ мСняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ f, k, w, x, =, !.

.Π° Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π° строка, содСрТащая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ '.' .,.с Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ строки, Π½ΠΎΠ²Ρ‹ΠΉ тСкст заканчиваСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π° .,.d Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ строки Π΅ file Π’Π½ΠΎΠ²ΡŒ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ file. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ начинаСтся Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, Ссли исправлСния Π½Π΅ записаны f file Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° ΠΊΠ°ΠΊ file 1,$g/re/cmds Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ cmds для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ re; ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² cmds Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ \newline (\+"ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки") .i Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ тСкст ΠΏΠ΅Ρ€Π΅Π΄ строкой; ΠΎΠ½ заканчиваСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ a .,.+1j .Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ строки Π² ΠΎΠ΄Π½Ρƒ .kc ΠŸΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ строку Π±ΡƒΠΊΠ²ΠΎΠΉ с ...l ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ строки, дСлая Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ .,.m line ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ строки послС строки line .,.p ΠŸΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ строки q Π’Ρ‹ΠΉΡ‚ΠΈ. Q Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, Π΄Π°ΠΆΠ΅ Ссли исправлСния Π½Π΅ записаны $r file Π§ΠΈΡ‚Π°Ρ‚ΡŒ file .,.s/re/new/ Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ new Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ соотвСтствуСт re .,.t line Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строки послС line .u ΠΠ½Π½ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послСднюю подстановку Π² строкС (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ) 1,$v/re/cmds Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ed cmds для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ re 1,$w file Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строки Π² Ρ„Π°ΠΉΠ»; W добавляСт (строки ΠΊ Ρ„Π°ΠΉΠ»Ρƒ) вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ (ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ») X Π’ΠΎΠΉΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (ΠΈΠ»ΠΈ ed -Ρ… имя_Ρ„Π°ΠΉΠ»Π°) $= ΠŸΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ строки ! cmdline Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ UNIX cmdline (.+1) newline ΠŸΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ строку

Π’Π°Π±Π»ΠΈΡ†Π° П.1.2: Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ed


n ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ строки n, n = 0,1, 2,... . ВСкущая строка $ ПослСдняя строка тСкста /re/ Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ re; послС послСднСй $ цикличСскоС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ?re? ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°Ρ строка, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ re; послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ цикличСскоС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊ послСднСй $ 'c Π‘Ρ‚Ρ€ΠΎΠΊΠ° с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ с N1+/-n Π‘Ρ‚Ρ€ΠΎΠΊΠ° N1+/-n (аддитивная комбинация) N1,N2 Π‘Ρ‚Ρ€ΠΎΠΊΠΈ с N1 ΠΏΠΎ N2 N1;N2 Команда: ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ строку N1 Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ N2. N1 ΠΈ N2 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· пСрСчислСнных Π²Ρ‹ΡˆΠ΅ способов

Π’Π°Π±Π»ΠΈΡ†Π° П.1.3: НомСра строк Π² ed


Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅

Если Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ed, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ тСкст (см. справочноС руководство ΠΏΠΎ quiz(6)).