foo, bar, demo,
foo bar demo.
Π£Π΄Π°Π»ΡΠ΅ΠΌ Ρ sedΒ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Π Π°Π±ΠΎΡΠ° Ρ sed Π²ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠΌ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ° Π½Π° sed:
sed 's/search/replace/' input > output sed -i'.BAK' 's/search/replace/' input sed 's/search/replace/' <<<"${var}"
echo "this is a test6" | sed 's/.$//'
cat > demo.txt
this is a test, I love Unix, I like Linux too,
sed 's/.$//' demo.txt > output.txt
## Linux GNU/sed version syntax ##
sed -i 's/.$//' demo.txt
cat demo.txt
cat output.txt
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠ»ΠΎΠ²Π½ΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° sed, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ, ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
ΠΠΎ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
echo "I love Pizza6" | sed 's/[0-9]$//'
echo "The best blog in Unixverse3" | sed 's/[[:digit:]]$//'
echo "I love Pizza6Times" | sed 's/[0-9]$//'
echo "I love donuts two times a dayz" | sed 's/[[:alpha:]]$//'
echo "I love donuts 2 times a dayZ" | sed 's/[[:upper:]]$//'
ΠΠΎΠΌΠ°Π½Π΄Π° Sed Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ»Π°ΡΡΡ Π‘ΠΠΠΠΠΠΠ |
ΠΠΠΠ‘ΠΠΠΠ |
---|---|
[[:alnum:]] |
ΠΡΠΊΠ²Π΅Π½Π½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ: β[[:alpha:]]β ΠΈ β[[:digit:]]β; Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ Β«CΒ» ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ASCII ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Β«[0-9A-Za-z]Β».
|
[[:alpha:]] | ΠΡΠΊΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ: β[[:lower:]]β ΠΈ β[[:upper:]]β; Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ “C” ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ASCII ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ “[A-Za-z]”. |
[[:blank:]] | ΠΡΡΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ: ΠΏΡΠΎΠ±Π΅Π» ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΡ. |
[[:cntrl:]] |
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. Π ASCII ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΎΡ 000 Π΄ΠΎ 037 ΠΈ 177 (DEL). Π Π΄ΡΡΠ³ΠΈΡ
Π½Π°Π±ΠΎΡΠ°Ρ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ.
|
[[:digit:]] |
Π¦ΠΈΡΡΡ: 0 1 2 3 4 5 6 7 8 9.
|
[[:graph:]] |
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ: β[[:alnum:]]β ΠΈ β[[:punct:]]β.
|
[[:lower:]] |
Π‘ΡΡΠΎΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ; Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ Β«CΒ» ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ASCII ΡΡΠΎ b c d e f g h i j klm n o p q r s t u v w x y z.
|
[[:print:]] | ΠΠ΅ΡΠ°ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ: β[[:alnum:]]β, β[[:punct:]]β ΠΈ ΠΏΡΠΎΠ±Π΅Π». |
[[:punct:]] |
ΠΠ½Π°ΠΊΠΈ ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΠΈ; Π² Π»ΠΎΠΊΠ°Π»ΠΈ βCβ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ASCII ΡΡΠΎ! β# $% &β () * +, -. /:; <=>? @ [\] ^ _ `{
|
[[:space:]] | Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠΎΠ±Π΅Π»Π°: Π² Π»ΠΎΠΊΠ°Π»ΠΈ Β«CΒ» ΡΡΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ°, Π½ΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°, Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π±ΡΠ»ΡΡΠΈΡ, ΠΏΠΎΠ΄Π°ΡΠ° ΡΠΎΡΠΌΡ, Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠ±Π΅Π». |
[[:upper:]] | ΠΡΠΊΠ²Ρ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅: Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ Β«CΒ» ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ ASCII ΡΡΠΎ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z. |
[[:xdigit:]] |
Π¨Π΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΡ: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f.
|
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ IP ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
IP="192.168.2.25," printf "%s\n" $IP
## Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· $IP ## sed 's/,$//' <<<"${IP}" ## ΠΈΠ»ΠΈ ## echo $IP | sed 's/.$//' ## ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ IP ΡΠ°Π·Π΄Π΅Π»ΠΈΠ² ',' ## IP="192.168.2.200,$IP" IP="192.168.5.253,$IP" ## ΠΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΄Π°Π»ΠΈΠ² ',' ## IP=$(sed 's/,$//' <<<"${IP}") echo "${IP}"
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π² Linux ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ awk, ΠΊΠΎΠΌΠ°Π½Π΄Ρ cut, Perl / Python ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.