<ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ | Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: | Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ>
POSIX Basic Vs. Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ, ΡΡΠΎ POSIX ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π΄Π²Π° ΡΠΈΠΏΠ°: ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (BRE) ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (ERE). Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π»ΡΠ±ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ Ρ POSIX ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΌ BRE. ΠΠ°Ρ GREP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° - ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ BRE ΠΈ ERE? ΠΡΠ΅ Π΄Π΅Π»ΠΎ Π² ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ . Π BRE ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ:
^ $. [] *
ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΠΈΡΠ°ΡΡΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Π°ΠΌΠΈ. Π ERE Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ):
() {}? + |
ΠΠ΄Π½Π°ΠΊΠΎ (ΠΈ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ) ΡΠΈΠΌΠ²ΠΎΠ»Ρ Β«(Β», Β«)Β», Β«{Β» ΠΈ Β«}Β» ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² BRE. if ΠΎΠ½ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ρ ERE ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΈΡΠ΅ΡΠ°Π». ΠΡΠ±ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ ΡΡΡΠ°Π½Π½ΠΎΡΡΠΈ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡΡ .
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π΄Π°Π»ΡΡΠ΅, ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ERE, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ GREP. Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ Π·Π°Π΄Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π½ΠΎ Π²Π΅ΡΡΠΈΡ GNU GREP ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° -E ΠΎΠΏΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
POSIX
Π 1980-Ρ Π³ΠΎΠ΄Π°Ρ Unix ΡΡΠ°Π»Π° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π½ΠΎ ΠΊ 1988 Π³ΠΎΠ΄Ρ ΠΌΠΈΡ Unix Π±ΡΠ» Π² ΡΠΌΡΡΠ΅Π½ΠΈΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Unix Ρ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ, AT&T, ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ²ΠΎΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ ΠΏΠΎ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π²Π½ΠΎΡΠΈΠ» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π° Ρ
POSIX Basic Vs. Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΡΡΠ°Π»ΡΡ ΠΈΠ³ΡΠ°ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»ΡΠΌΠΈ Π² Π²ΡΠΈΠ³ΡΡΡΠ½ΡΡ ΠΈΠ³ΡΡ Β«Π·Π°ΠΏΠ΅ΡΠ΅ΡΡΡΡΒ». ΠΡΠΎ ΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ Unix ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΊΠ°ΠΊ Β«Π±Π°Π»ΠΊΠ°Π½ΠΈΠ·Π°ΡΠΈΡ".
ΠΠ²Π΅Π΄ΠΈΡΠ΅ IEEE (ΠΠ½ΡΡΠΈΡΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ΅ ΠΈ ΡΠ°Π΄ΠΈΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ΅). Π ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ 1980-Ρ Π³ΠΎΠ΄ΠΎΠ² IEEE Π½Π°ΡΠ°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½Π°Π±ΠΎΡΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΈ Π±Ρ ΡΠ°Π±ΠΎΡΡ Unix (ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ) ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΡ, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΊ IEEE 1003, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (API), ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΈ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Β«POSIXΒ», ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΠΎΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ X Π² ΠΊΠΎΠ½ΡΠ΅ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π·ΠΊΠΎΡΡΠΈ), Π±ΡΠ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π ΠΈΡΠ°ΡΠ΄ΠΎΠΌ Π‘ΡΠΎΠ»Π»ΠΌΠ°Π½ΠΎΠΌ (Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π ΠΈΡΠ°ΡΠ΄ Π‘ΡΠΎΠ»ΠΌΠ΅Π½) ΠΈ Π±ΡΠ» ΠΏΡΠΈΠ½ΡΡ IEEE.
<ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ | Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: | Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ>