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

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

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

$ rm *.save

ΡƒΠ΄Π°Π»ΠΈΡ‚ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° .save.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ всС ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отличаСтся ΠΎΡ‚ числового. Если Π² вашСй ΠΊΠ½ΠΈΠ³Π΅ 10 Π³Π»Π°Π², порядок ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚Π΅ΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ рассчитываСтС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ch10 ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ ch2:

$ echo *

ch1.1 ch1.2 ... ch10.1 ch10.2 ... ch2.1 ch2.2 ...

Π‘ΠΈΠΌΠ²ΠΎΠ» * β€” Π½Π΅ СдинствСнный способ задания шаблона для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° shell, хотя ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ. Π¨Π°Π±Π»ΠΎΠ½ [...] Π·Π°Π΄Π°Π΅Ρ‚ Π»ΡŽΠ±Ρ‹Π΅ символы ΠΈΠ· пСрСчислСнных Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок. НСсколько подряд ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π±ΡƒΠΊΠ² ΠΈΠ»ΠΈ Ρ†ΠΈΡ„Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² сокращСнном Π²ΠΈΠ΄Π΅:

$ pr ch[12346789]* ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Π³Π»Π°Π² 1,2,3,4,6,7,8,9, Π½ΠΎ Π½Π΅ 5

$ pr ch[1-46-9]*   Π’ΠΎ ΠΆΠ΅ самоС

$ rm temp[a-z]     Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС tempa, β€¦, tempz

Π¨Π°Π±Π»ΠΎΠ½ ? Π·Π°Π΄Π°Π΅Ρ‚ любой ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ:

$ ls ?        Бписок Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа

$ ls -l ch?.1 Бписок ch1.1 ch2.1 ch3.1 ΠΈ Ρ‚.Π΄., Π½ΠΎ Π½Π΅ ch10.1

$ rm temp?    Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ temp1, …, tempa ΠΈ Ρ‚.Π΄.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ частности, нСльзя ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблонов. НапримСр, Ссли Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ch Π΄ΠΎ chapter Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚:

$ mv ch.* chapter.* НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!

ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ chapter.* Π½Π΅ соотвСтствуСт Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ².

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ шаблонов, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ *, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½Π°Ρ… Π½Π°Ρ€Π°Π²Π½Π΅ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²; сопоставлСниС происходит для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, содСрТащСго ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ. Π’Π°ΠΊ, /usr/mary/* ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ поиск Ρ„Π°ΠΉΠ»ΠΎΠ² Π² /usr/mary/, a /usr/*/calendar ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ список Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ calendar.

Если Π²Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ придСтся ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния символов *, ? ΠΈ Π΄Ρ€., Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ вСсь Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² апострофы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

$ ls '?'

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ:

$ ls \?

(ВспомнитС, Ρ‡Ρ‚ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ? Π½Π΅ являСтся символом стирания ΠΈΠ»ΠΈ уничтоТСния, обратная дробная Ρ‡Π΅Ρ€Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ ядром, Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ shell.) ИспользованиС ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся Π² Π³Π». 3.

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

Π’ Ρ‡Π΅ΠΌ состоит Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:

$ ls junk  $ echo junk

$ ls /     $ echo /

$ ls       $ echo

$ ls *     $ echo *

$ ls '*'   $ echo '*'

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассматривали, производят Π²Ρ‹Π²ΠΎΠ΄ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ Π²Π²ΠΎΠ΄ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½ для Π²Π²ΠΎΠ΄Π°, Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΠ±Π΅ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° Ρ„Π°ΠΉΠ».

НапримСр,

$ ls

Π²Ρ‹Π΄Π°Π΅Ρ‚ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° ваш Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Но Ссли Π·Π°Π΄Π°Ρ‚ΡŒ

$ ls > filelist

Ρ‚ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ список Ρ„Π°ΠΉΠ»ΠΎΠ² помСщаСтся вмСсто этого Π² Ρ„Π°ΠΉΠ» filelist. Π‘ΠΈΠΌΠ²ΠΎΠ» > ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄Π°Π»Π΅Π΅ Ρ„Π°ΠΉΠ», Π° Π½Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π€Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ создан, Ссли ΠΎΠ½ Ρ€Π°Π½Π΅Π΅ Π½Π΅ сущСствовал, ΠΈΠ»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ содСрТимоС старого. На своСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π²Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅. Π’ качСствС Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², "ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΠ²" Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cat ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ² Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ»:

$ cat f1 f2 f3 > temp

Π‘ΠΈΠΌΠ²ΠΎΠ» >> дСйствуСт ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ >, Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ Ρ„Π°ΠΉΠ»Π°. Π—Π½Π°Ρ‡ΠΈΡ‚, ΠΊΠΎΠΌΠ°Π½Π΄Π°

$ cat f1 f2 f3 >> temp

ΡΠΎΠ»ΡŒΠ΅Ρ‚ содСрТимоС f1, f2, f3 ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΊΠΎΠ½Π΅Ρ† temp, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ староС содСрТимоС. Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ >, Ссли Ρ„Π°ΠΉΠ» temp Π½Π΅ сущСствуСт, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ пустым.

Аналогично символ < ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ бСрСтся ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π’Π°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ письмо Π² Ρ„Π°ΠΉΠ»Π΅ let, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ Π΅Π³ΠΎ нСскольким адрСсатам:

$ mail mary joe torn bob < let

Π’ΠΎ всСх этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠΎ ΠΎΠ±Π΅ стороны символа > ΠΈΠ»ΠΈ < Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ прСдставлСниС Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ.

ИмСя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ <, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, получая эффСкт, нСдостиТимый Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π°Ρ‚ΡŒ список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС

$ who > temp

$ sort < temp

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° who Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ строкС Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² систСмС, a wc -l ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ подсчСт строк (подавляя Π²Ρ‹Π²ΠΎΠ΄ числа слов ΠΈ символов), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ число ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄:

$ who > temp

$ wc -l < temp

ΠΈ число Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅:

$ ls > temp

$ wc -l < temp

хотя Π² это число Π²ΠΎΠΉΠ΄Π΅Ρ‚ ΠΈ сам Ρ„Π°ΠΉΠ» temp. МоТно Π²Ρ‹Π΄Π°Ρ‚ΡŒ список ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Ρ€ΠΈ столбца, Π·Π°Π΄Π°Π²

$ ls > temp

$ pr -3 < temp

НаконСц, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ вошСл Π² систСму, комбинируя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ who ΠΈ grep:

$ who > temp

$ grep mary < temp

Π’ΠΎ всСх пСрСчислСнных Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, ΠΊΠ°ΠΊ ΠΈ Π² случаС ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащих ΠΎΠ±Ρ€Π°Π·Ρ‹ Ρ‚ΠΈΠΏΠ° *, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ символы < ΠΈ > ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ самим ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ shell, Π° Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Благодаря этому ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ для любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Π°ΠΆΠ΅ "Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚", Ρ‡Ρ‚ΠΎ происходит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅.

ИзлоТСнноС ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ‚ нас ΠΊ Π²Π°ΠΆΠ½ΠΎΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Ρƒ. Команда

$ sort < temp

сортируСт содСрТимоС Ρ„Π°ΠΉΠ»Π° temp Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ

$ sort temp

Π½ΠΎ Π² ΠΈΡ… дСйствиях Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ строка < temp обрабатываСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ shell, пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° sort Π½Π΅ воспринимаСт Ρ„Π°ΠΉΠ» temp ΠΊΠ°ΠΊ свой Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚; ΠΎΠ½Π° просто сортируСт собствСнный стандартный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π½Π° Ρ„Π°ΠΉΠ» temp. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π² послСднСм случаС имя temp пСрСдаСтся ΠΊΠΎΠΌΠ°Π½Π΄Π΅ sort Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΠ½Π° Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈ сортируСт Ρ„Π°ΠΉΠ». КомандС sort ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ²:

$ sort temp1 temp2 temp3

Π½ΠΎ, Ссли ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΎΠ½Π° всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стандартный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Π­Ρ‚ΠΎ сущСствСнная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄: Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ обрабатываСтся стандартный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, достаточно ввСсти имя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½Π° выполняСтся. НапримСр,

$ sort

ghi

abc

def

ctl-c

abc

def

ghi

$

Π’ дальнСйшСм ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ рСализуСтся этот ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ.

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

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°

$ ls > ls.out

Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ls.out Π² список ΠΈΠΌΠ΅Π½.

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

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

$ wc temp > temp

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ ΠΎΡˆΠΈΠ±Π΅Ρ‚Π΅ΡΡŒ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°Π΄Π°Π²

$ woh > temp

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹

ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°, основаны Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ΅: Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ пСрСдаСтся Π² качСствС Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° для Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Π‘Π°ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» большС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ смысла; Π² самом Π΄Π΅Π»Π΅, Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ». Π­Ρ‚ΠΎ сообраТСниС ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ возникновСнию ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ систСмы UNIX, ΠΈΠ΄Π΅ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» прСдставляСт собой срСдство связи Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±Π΅Π· всяких Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²; соСдинСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠΌ Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ называСтся ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠΌ.

ΠŸΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ² вмСсто Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° слуТит ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ shell для создания ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°:

$ who | sort      ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ отсортированного списка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

$ who | wc -l     ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ числа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

$ ls | wc -l      ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ числа Ρ„Π°ΠΉΠ»ΠΎΠ²

$ ls | pr -3      Π’Ρ‹Π²ΠΎΠ΄ списка ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Ρ€ΠΈ столбца

$ who | grep mary Поиск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Всякая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, вводящая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ; всякая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, производящая Π²Ρ‹Π²ΠΎΠ΄ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π». Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ случай, ΠΊΠΎΠ³Π΄Π° приносит ΠΏΠ»ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ стандартный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, Ссли Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹. Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ Π΄Π°Π½Π½ΠΎΠ΅ соглашСниС, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€. Π’ рассмотрСнных Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pr, grep, sort ΠΈ wc ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ способом.