UPPER_LIMIT=51
CARDS_IN_SUIT=13
CARDS=52
declare -a Deck
declare -a Suits
declare -a Cards
# ΠΡΠΎΡΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅ Π±ΡΠ»ΠΎ Π±Ρ, ΠΈΠΌΠ΅ΠΉ ΠΌΡ Π΄Π΅Π»ΠΎ
# Ρ ΠΎΠ΄Π½ΠΈΠΌ 3-ΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
# ΠΡΠ΄Π΅ΠΌ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²Π²Π΅Π΄Π΅Π½Π° Π² Bash.
initialize_Deck ()
{
i=$LOWER_LIMIT
until [ "$i" -gt $UPPER_LIMIT ]
do
Deck[i]=$UNPICKED # ΠΠΎΠΌΠ΅ΡΠΈΡΡ Π²ΡΠ΅ ΠΊΠ°ΡΡΡ Π² ΠΊΠΎΠ»ΠΎΠ΄Π΅ "Deck", ΠΊΠ°ΠΊ "Π½Π΅Π²ΡΠ΄Π°Π½Π½Π°Ρ".
let "i += 1"
done
echo
}
initialize_Suits ()
{
Suits[0]=Π’ # Π’ΡΠ΅ΡΡ
Suits[1]=Π # ΠΡΠ±Π½Ρ
Suits[2]=Π§ # Π§Π΅ΡΠ²Ρ
Suits[3]=Π # ΠΠΈΠΊΠΈ
}
initialize_Cards ()
{
Cards=(2 3 4 5 6 7 8 9 10 Π Π K Π’)
# ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°.
}
pick_a_card ()
{
card_number=$RANDOM
let "card_number %= $CARDS"
if [ "${Deck[card_number]}" -eq $UNPICKED ]
then
Deck[card_number]=$PICKED
return $card_number
else
return $DUPE_CARD
fi
}
parse_card ()
{
number=$1
let "suit_number = number / CARDS_IN_SUIT"
suit=${Suits[suit_number]}
echo -n "$suit-"
let "card_no = number % CARDS_IN_SUIT"
Card=${Cards[card_no]}
printf %-4s $Card
# ΠΡΠ²ΠΎΠ΄ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ.
}
seed_random () # ΠΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π».
{
seed=`eval date +%s`
let "seed %= 32766"
RANDOM=$seed
}
deal_cards ()
{
echo
cards_picked=0
while [ "$cards_picked" -le $UPPER_LIMIT ]
do
pick_a_card
t=$?
if [ "$t" -ne $DUPE_CARD ]
then
parse_card $t
u=$cards_picked+1
# ΠΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ Ρ 1 (Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ).
let "u %= $CARDS_IN_SUIT"
if [ "$u" -eq 0 ] # Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ if/then.
then
echo
echo
fi
# Π‘ΠΌΠ΅Π½Π° ΡΡΠΊΠΈ.
let "cards_picked += 1"
fi
done
echo
return 0
}
# Π‘ΡΡΡΠΊΡΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
# Π²ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π½Π° Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ.
#================
seed_random
initialize_Deck
initialize_Suits
initialize_Cards
deal_cards
exit 0
#================
# Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 1:
# ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ.
# Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2:
# ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠΊΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎ ΠΌΠ°ΡΡΠΈ.
# ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ.
# Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 3:
# Π£ΠΏΡΠΎΡΡΠΈΡΠ΅ Π»ΠΎΠ³ΠΈΠΊΡ ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠ»Π°Π²Π° 35. ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
35.1. ΠΡ Π°Π²ΡΠΎΡΠ°
ΠΠ°ΠΊ Ρ ΠΏΡΠΈΡΠ΅Π» ΠΊ ΠΌΡΡΠ»ΠΈ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ? ΠΡΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ. Π‘Π»ΡΡΠΈΠ»ΠΎΡΡ ΡΡΠΎ Π»Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΌΡ Π½Π°Π·Π°Π΄. ΠΠ½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΠ·ΡΡΠΈΡΡ ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ -- Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΡΡΠ΅, ΠΊΠ°ΠΊ Π½Π΅ ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ!? Π― Π½Π°Π΄Π΅ΡΠ»ΡΡ ΠΊΡΠΏΠΈΡΡ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡ Π²Π°ΡΡΠ²Π°Π»ΠΈ Π±Ρ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΠΌΠ°ΡΠΈΠΊΡ. Π― ΠΈΡΠΊΠ°Π» ΠΊΠ½ΠΈΠ³Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·ΡΠΌΠ΅Ρ ΡΡΡΠ΄Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, Π²ΡΠ²Π΅ΡΠ½Π΅Ρ ΠΈΡ Π½Π°ΠΈΠ·Π½Π°Π½ΠΊΡ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΆΡΠ΅Ρ Π½Π° Ρ ΠΎΡΠΎΡΠΎ ΠΎΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . Π ΠΎΠ±ΡΠ΅ΠΌ, Ρ ΠΈΡΠΊΠ°Π» ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΡΡ ΠΊΠ½ΠΈΠ³Ρ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π² ΠΏΡΠΈΡΠΎΠ΄Π΅ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΡΠ΅Π» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π΅.
ΠΡΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΌΠ½Π΅ ΡΠΊΠ°Π·ΠΊΡ ΠΎ ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅. ΠΠΎΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ, Π΄ΠΎ Π±Π΅Π·ΡΠΌΠΈΡ, ΠΏΡΠΈ Π²ΠΈΠ΄Π΅ ΠΊΠ½ΠΈΠ³ΠΈ, Π»ΡΠ±ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ -- Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, Π² ΠΊΠ½ΠΈΠΆΠ½ΠΎΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ -- Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π΄Π΅, ΠΈΠΌ ΠΎΠ²Π»Π°Π΄Π΅Π²Π°Π»Π° ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈ ΠΎΠ½ ΠΌΠΎΠ³ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅. ΠΠ½ ΡΡΡΠ΅ΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΡΠ°Π»ΡΡ Π΄ΠΎΠΌΠΎΠΉ ΠΈ ΡΠ°Π΄ΠΈΠ»ΡΡ Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠΌΠ΅Ρ, Π² Π΅Π³ΠΎ Π΄ΠΎΠΌΠ΅ Π½Π°ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΈΠΌ ΠΊΠ½ΠΈΠ³, ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Ρ Π²Π°ΡΠΈΠ»ΠΎ Π±Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠ°ΠΌΠΈΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΠΉΠ·Π΅ΠΊΠ° ΠΠ·ΠΈΠΌΠΎΠ²Π°. ΠΠ½ΠΈΠ³ΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΡΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΈ -- ΠΊΡΠΎ Π·Π½Π°Π΅Ρ, Π½ΠΎ ΡΠ°Π·Π²Π΅ ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅? ΠΠΎΡ -- ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΆΠΈΠ» ΡΠ²ΠΎΠΈΠΌΠΈ Π³ΡΠ΅Π·Π°ΠΌΠΈ, ΠΏΡΡΡΡ ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΉ ΠΈ Π΄Π²ΠΈΠΆΠΈΠΌΡΠΉ ΠΈΠΌΠΈ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ ΠΎΡ Π²ΠΎΡΡ ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΌ ΡΡΠ΄Π°ΠΊΠΎΠΌ...
35.2. ΠΠ± Π°Π²ΡΠΎΡΠ΅
ΠΠ²ΡΠΎΡ Π½Π΅ ΡΡΡΠ΅ΠΌΠΈΡΡΡ Π½ΠΈ ΠΊ Π·Π²Π°Π½ΠΈΡΠΌ, Π½ΠΈ ΠΊ Π½Π°Π³ΡΠ°Π΄Π°ΠΌ, ΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Ρ Π½Π΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΈΡΠ°ΡΡ[ 65 ]. ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° -- ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΠΎΡΠ΄ΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, HOW-2 Meet Women: The Shy Man's Guide to Relationships (Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΠ°ΡΡΠ΅Π½ΡΠΈΠ²ΠΎΠ³ΠΎ ΠΡΠΆΡΠΈΠ½Ρ ΠΎ ΡΠΎΠΌ ΠΠ°ΠΊ ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π‘ ΠΠ΅Π½ΡΠΈΠ½ΠΎΠΉ) . ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π» Software-Building HOWTO.
ΠΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Linux Ρ 1995 Π³ΠΎΠ΄Π° (Slackware 2.2, kernel 1.2.1). ΠΡΠΏΡΡΡΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ cruft -- ΡΡΠΈΠ»ΠΈΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΠΌΠ΅Π½ΡΠ²ΡΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ UNIX-ΠΎΠ²ΡΡ crypt, mcalc -- ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ² ΠΏΠΎ Π·Π°ΠΉΠΌΠ°ΠΌ, judge ΠΈ yawl -- ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ³Ρ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈΠ½Π°Π» Ρ ΡΠ·ΡΠΊΠ° FORTRAN IV Π½Π° CDC 3800, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ Π½ΠΎΡΡΠ°Π»ΡΠ³ΠΈΠΈ ΠΏΠΎ ΡΠ΅ΠΌ Π΄Π½ΡΠΌ.
ΠΠΈΠ²Π΅Ρ Π² Π³Π»ΡΡ ΠΎΠΉ, Π·Π°Π±ΡΠΎΡΠ΅Π½Π½ΠΎΠΉ Π΄Π΅ΡΠ΅Π²ΡΡΠΊΠ΅ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΆΠ΅Π½ΠΎΠΉ ΠΈ ΡΠΎΠ±Π°ΠΊΠΎΠΉ.
35.3. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΠ΅ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ
35.3.1. ΠΠΏΠΏΠ°ΡΠ°ΡΡΡΠ°
IBM Thinkpad, model 760XL laptop (P166, 104 Mb RAM) ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Red Hat 7.1/7.3. ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π³ΡΠ΅Π³Π°Ρ, Π½ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΈ ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠ°ΡΠ° ΠΊΠ°ΡΠ°Π½Π΄Π°ΡΠ΅ΠΉ ΠΈ ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ».
35.3.2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ vim (Π°Π²ΡΠΎΡ: Bram Moolenaar) .
OpenJade -- ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ DSSSL, Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ SGML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ.
Π’Π°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ DSSSL ΠΎΡ Norman Walsh.
DocBook, The Definitive Guide (Norman Walsh, Leonard Muellner O'Reilly, ISBN 1-56592-580-7). ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Docbook SGML.
35.4. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ
ΠΠ΅Π· ΡΡΠ°ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» Π±Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. ΠΠ²ΡΠΎΡ ΠΏΡΠΈΠ·Π½Π°Π΅Ρ, ΡΡΠΎ Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΏΠΎΠΌΠΎΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΡΡΠ°Π»ΠΎ Π±Ρ Π½Π΅Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡ Π²ΡΠ΅Ρ , ΠΊΡΠΎ ΠΎΠΊΠ°Π·Π°Π» ΠΏΠΎΡΠΈΠ»ΡΠ½ΡΡ ΠΏΠΎΠΌΠΎΡΡ.
Philippe Martin -- ΠΏΠ΅ΡΠ΅Π²Π΅Π» ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΡΠΎΡΠΌΠ°Ρ DocBook/SGML. Π Π°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Π ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅ΠΌΡ -- Π»ΡΠ±ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ GNU/Linux, ΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠ»ΡΡΠ°ΡΡ ΠΌΡΠ·ΡΠΊΡ ΠΈ Π²Π΅ΡΠ΅Π»ΠΈΡΡΡΡ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ Π½ΠΈΠΌ, Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΠΎ Π€ΡΠ°Π½ΡΠΈΠΈ, Π² ΠΏΡΠΎΠ²ΠΈΠ½ΡΠΈΠΈ ΠΠ°ΡΠΊΠΎΠ², ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΅ΠΌΡ ΠΏΠΈΡΡΠΌΠΎ Π½Π° [email protected]
Philippe Martin ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π° $9, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ {ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ}, ΡΠΌ. ΠΡΠΈΠΌΠ΅Ρ 4-5.
Stephane Chazelas -- Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» ΡΠΈΡΠ°Π½ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ΅, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΎΠ½ Π²Π·Π²Π°Π»ΠΈΠ» Π½Π° ΡΠ²ΠΎΠΈ ΠΏΠ»Π΅ΡΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ Patrick Callahan, Mike Novak ΠΈ Pal Domokos Π·Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ, Π·Π° ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡ ΠΆΠΈΠ²ΠΎΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π²Π΄ΠΎΡ Π½ΠΎΠ²ΠΈΠ»ΠΎ ΠΌΠ΅Π½Ρ Π½Π° ΠΏΠΎΠΏΡΡΠΊΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΌ.
Π― Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ Jim Van Zandt Π·Π° Π²ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΠΏΡΡΠ΅Π½ΠΈΡ, Π² Π²Π΅ΡΡΠΈΠΈ 0.2 ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΈ Π·Π° ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Jordi Sanfeliu Π·Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π΄Π°Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ (ΠΡΠΈΠΌΠ΅Ρ A-19).
ΠΡΡΠ°ΠΆΠ°Ρ ΡΠ²ΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ Michel Charpentier Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ dc ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ (ΠΡΠΈΠΌΠ΅Ρ 12-37).
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Noah Friedman, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ²ΡΠ΅ΠΌΡ ΠΏΡΠ°Π²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΉ (ΠΡΠΈΠΌΠ΅Ρ A-20).
Emmanuel Rouat ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π°Ρ , ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°ΠΌ. ΠΠ½ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° .bashrc (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ G).
Heiner Steven Π»ΡΠ±Π΅Π·Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΠ» ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΡΠΈΠΌΠ΅Ρ 12-33. ΠΠ½ ΡΠ΄Π΅Π»Π°Π» ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ Π²Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎΠ±ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
Rick Boivie ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡΡΠΈΡ, pb.sh (ΠΡΠΈΠΌΠ΅Ρ 33-7) ΠΈ Π²Π½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ monthlypmt.sh (ΠΡΠΈΠΌΠ΅Ρ 12-32).
Florian Wisser ΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΠ°ΠΌ (ΡΠΌ. ΠΡΠΈΠΌΠ΅Ρ 7-6).
Oleg Philon ΠΏΠ΅ΡΠ΅Π΄Π°Π» ΡΠ²ΠΎΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ cut ΠΈ pidof.
Michael Zick ΡΠ°ΡΡΠΈΡΠΈΠ» ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΡΡΡΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, Π²Π²Π΅Π΄Ρ ΡΡΠ΄Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» ΡΡΠ΄ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
Marc-Jano Knopp Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ DOS.
Hyun Jin Cha, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΊΠΎΡΠ΅ΠΉΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΠΊ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π΅ΠΌΡ Π·Π° ΡΡΠΎ!
Andreas Abraham ΠΏΠ΅ΡΠ΅Π΄Π°Π» Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π²Π½Π΅Ρ ΡΡΠ΄ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ. ΠΡΠΎΠ±ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Gabor Kiss, Leopold Toetsch, Peter Tillier, Marcus Berglof, Tony Richardson, Nick Drage, Rich Bartell, Jess Thrysoee, Adam Lazur, Bram Moolenaar, Baris Cicek, Greg Keraunen, Keith Matthews, Sandro Magi, Albert Reiner, Dim Segebart, Rory Winston, Lee Bigelow, Wayne Pollock, "jipe", Emilio Conti, Dennis Leeuw, Dan Jacobson ΠΈ David Lawyer (Π°Π²ΡΠΎΡ 4-Ρ HOWTO).
ΠΠΎΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ Chet Ramey ΠΈ Brian Fox Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Bash -- ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°!
ΠΡΠΎΠ±ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΡΠ°ΠΌ ΠΈΠ· Linux Documentation Project. ΠΡΠΎΠ΅ΠΊΡ LDP ΡΠ΄Π΅Π»Π°Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ Π°ΡΡ ΠΈΠ²Π΅.
ΠΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΠ²ΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠ΅ΠΉ ΡΡΠΏΡΡΠ³Π΅, Anita, Π·Π° Π΅Π΅ ΡΠΌΠΎΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ.
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
Edited by Peter Denning, Computers Under Attack: Intruders, Worms, and Viruses, ACM Press, 1990, 0-201-53067-8.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΠ΅ΠΉ ΠΎ Π²ΠΈΡΡΡΠ°Ρ , Π½Π°ΠΏΠΈΡΠ°Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ.
*
Dale Dougherty and Arnold Robbins, Sed and Awk, 2nd edition, O'Reilly and Associates, 1997, 1-156592-225-5.
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΠΊΡΡΡΡ Π²ΡΡ ΠΌΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π²Π°ΠΌ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ sed ΠΈ awk. ΠΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ. ΠΠ΄Π΅ΡΡ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² "ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ". ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ.