Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:






???????
 
 Sysadmin
 ??????????????
 ????? ? ?????
 ??????????
 ???????????? ???????
 ?????????????
 ? ???????
 ? ???????????
 ???????? ? ??????
 ???????????
 ??????????? ???????
 ???????? ????? ?????? ?????? ???????? ??????????
 ??????
 ??????
 ?????? ?????? 1924-1994
 ??????? ?? ??????
 ???? ? ???????
 ????? ??????????
 ?????????


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

????????? ???????? sed



sed ? awk (??????? ???????) (?) ?.????????
www.nevod.ru/linux/doc/sed/
I. ????????? ???????? sed

??????? ????? ??????:

sed [ -n ] [ -e script ] [ -f sfile ] [ files ]

??????? ???????? ????? (?? ????????? ?? ???????????? ?????)
?? ??????????? ?????, ??????????? ?? ? ???????????? ?? ??????(!)
?????????, ???????????? ? "script" (? ????????? ????? ??? ??????
????????? [? ?? shell!]). ?? ????? "-f" ????? ????? ???? ??????
?? ????? "sfile"; ???? ???? ?????? ????? "-e script", ?? ????
"-e" ????? ????????. ???? "-n" ????????? ????? (???????????? ??
?????????). "script" ??????? ?? ?????? ??????????????, ?? ????? ?
??????, ??????? ??????:

[ addr [ , addr ] ] cmd [ args ]

"sed" ?????????? ??????????? ??????? ?????? ? ????????.
?????? "[ addr [ , addr ] ]" - ??? ???? ?????? ?????, ????
????????? ?????? (?????? "$"), ???? ?????????? ????????? ? ?????
????????? "ed":
- "" ???????????? ? ????????????? ???????? ???
????????????? ??????????? ??????.
- "." ????????? ? ????? ????????.
- ???? ?????? ?? ??????? - ??????????????? ??? ???????
??????.
- ???? ???? ?????, ?? ?????????? ??????????? ??????.
- ???? ?????? ??? ??????, ?????????? ?????? ? ????????
?????????.
- "!cmd" ??????????? ??????? "cmd", ??? ?????, ??????? ??
???? ??????? ?? ???????.

??? ????????? (????????) ??????? (??????) ???????????? ?????
?????????? ??????? ??????? ? ???????.

(1)a
text ????????? text ????? ????????? ??????

???????:
who
?????????:
root tty1 Mar 13 17:23
mas tty2 Mar 13 18:50
sae tty6 Mar 13 17:24
sae tty5 Mar 13 17:24

??????:
who | sed '2a
????? ??????
'

?????????:
root tty1 Mar 13 17:23
mas tty2 Mar 13 18:50
????? ??????
sae tty6 Mar 13 17:24
sae tty5 Mar 13 17:24


(2)b label
???????????? ??????? ? ??????? ("cmd") "label:cmd" ????
????? ("label") ???????????, ?? ??????? ?? ????? ?????????? ?????.

??????:
who | sed '2a
????? ??????
b lb
2d
: lb 3d
'

?????????:
root tty1 Mar 13 17:23
mas tty2 Mar 13 18:50
????? ??????
sae tty5 Mar 13 17:24


(2)c
text ??????? ????????? ?????? ? ???????? ?? ?? "text'.

??????:
who | sed '/sae/ c
c????? ??????
'

?????????:
root tty1 Mar 13 17:23
mas tty2 Mar 13 18:50
?????? ??????
?????? ??????

(2)d ??????? ????????? ??????

??????:
who | sed '2,4d'

?????????:
root tty1 Mar 13 17:23

(1)i
text ????????? "text" ?? ????? ????????? ??????.
(???????? ? "a")
??????:
who | sed '2i
????? ??????
'

?????????:
root tty1 Mar 13 17:23
????? ??????
mas tty2 Mar 13 18:50
sae tty6 Mar 13 17:24
sae tty5 Mar 13 17:24



(2)p ??????? ????????? ?????? (???????????? ? ?????? "-n").

(1)q ??????? ?? "sed".

(2)r rfile
?????? ???? "rfile" ? ?????? ?? ?????.

(2)s/reg_expr/rpl/flags
???????? ?????????? ????????? "reg_expr" ?? "rpl" ? ??????
?????? "flags":
g - ????????? (?? ???? ??????)
p - ???????? ??????
w wfile - ????????? ?????????? ? "wfile".

??????:
who | sed 's/t/T/'
echo
who | sed 's/t/T/g'

?????????:
rooT tty1 Mar 13 17:23
mas Tty2 Mar 13 18:50
sae Tty6 Mar 13 17:24
sae Tty5 Mar 13 17:24

rooT TTy1 Mar 13 17:23
mas TTy2 Mar 13 18:50
sae TTy6 Mar 13 17:24
sae TTy5 Mar 13 17:24

(2)y/str1/str2/
???????? ??? ????????? ???????? "str1" ??????????????? ?????????
"str2". ????? ????? ?????? ???? ???????????.

??????:
who | sed 'y/sae/SAE/'

?????????:
root tty1 MAr 13 17:23
mAS tty2 MAr 13 18:50
SAE tty6 MAr 13 17:24
SAE tty5 MAr 13 17:24


(2)! cmd ???????(?) "cmd" ??????????? ? ??????????? ???????.

??????:
who | sed '2,4!d'

?????????:
mas tty2 Mar 13 18:50
sae tty6 Mar 13 17:24
sae tty5 Mar 13 17:24

(1)= ?????? ?????? ?????.

??????:
who | sed =

?????????:
1
root tty1 Mar 13 17:23
2
mas tty2 Mar 13 18:50
3
sae tty6 Mar 13 17:24
4
sae tty5 Mar 13 17:24

(2){ } ?????? ?????????? ???????.


-------------"--------------


II. ???? ????????? ???????? awk
(Aho, Weinberg, Kernigan)

awk - ??????? ???????????? ?????? ? ?????????????? ??????.
??? - ??????. ?? ????? ????????????? ??? ???????? "awk" ?
???????? "shell".

1. ????????? awk-?????????

????????? ??????? ?? ?????????? (??????), ??????? ???:

?????? {????????}
?????? {????????}
. . .

??????? ??????:

{????????} - ????? ???????? ??????????? ??? ???? ?????.
?????? - ????? ????????? ?????? ? ?????? ????????.


???????? ????? ???????? ?? ?????????????????? ??????????,
??????????? ";" ??? ????????? ?????? ??? ??????????? ???????.

???????? ??????????? (??? ? shell "#.........").

??????:
??? ?????????? ???????? ??????? ??????? ???? "f-awk"
( ??????? ???????? ???-??????-??-?????? ??????? ):

?????? ?.?. 1980 50
?????? ?.?. 1979 40
??????? ?.?. 1979 40
???????? ?.?. 1970 60

awk '{print}' f-awk # ?????? ???? ?????;
echo
awk '/??/ {print}' f-awk # ?????? ??????, ??? ???? "??".
echo
awk '/??/ {}' f-awk # ?????? ??????, ??? ???? "??"
echo
awk '/??/ {print("??????!")}' f-awk

?????????:
?????? ?.?. 1980 50
?????? ?.?. 1979 40
??????? ?.?. 1979 40
???????? ?.?. 1970 60

??????? ?.?. 1979 40
???????? ?.?. 1970 60

??????? ?.?. 1979 40
???????? ?.?. 1970 60

??????!
??????!

?????????? ??? ????????? ???????????? ???? ("BEGIN"-
????????? ????????? ? "END" - "?????????????"):

BEGIN {????????}
?????? {????????}
?????? {????????}
. . .
END {????????}


2. ????? awk

???????? ??? ???????? ????????:

1) awk [-Fc] 'prog.awk' [files]

??? ?????????? ??????, ????? ????????? (??????????? ?
??????? " ' ") ????????? ? ???? ???????,
"-Fc" - ????, ???????? ??????????? ??????????? ????? ?? "c"
"file" - ??? ????? ???????? ??????, ??? ??? ?????????? - ??
???????????? ?????. (???? ?????? ?????????? ? ????????? ????????).

cat f-awk | awk '/??/ {print}'

?

awk '/??/ {print}' < f-awk

???? ?????????, ???????????

awk '/??/ {print}' f-awk

??? ???????????? ???????? ????? "-Fc" ?????????? ??????:

awk '/??/ {print($2)}' f-awk
awk -F0 '/??/ {print($2)}' f-awk

?? ????? ????? ????????:

?.?.
?.?.

6

?????? ??????? "awk" ??????? ?????? ???? (?????????
??????????? ?????????? "$2") ?????, ?????????? "??". (??????,
??????????? ?????????? "$0" ???????????? ???? ??????).
?? ?????? ??????, ????????? ????? "-F" ???????????
??????????? ???????? ?? ?????? "0", ?.?. ?????? ????????? ??????
??????????????, ??? ???????? ?? ????????? ????:

??????? ?.?. 1979 40
---------------------^--------------------
1-? ???? 2-? ???? (?????)

???????? ?.?. 1970 60
-----------------^---^--------------------
1-? ???? 2-? 3-? ???? (?????)


2) awk [-Fc] -f prog.awk [files]

???? "-f" ??????? ? ???, ??? awk-????????? ???? ????? ??
?????, ??? ???????? ??????? ?????? (??? ????? ???? ???????????? ?
?????????? ".awk" ????????? ????? ?????? ?? ????????????
???????????).

3. awk-?????????? ? ?????????

? ????? awk ?????????? ??? ?????? ??????????:
???????????????? ? ??????????????? ? ?????????. ???????? ????????
???????????????? ?????????? ??????????????? ??????????????? awk ?
???????? ??????? ? ?????????? awk-?????????.
? ???????????????? ?????????: ?????????:
NR ????? ??????? ??????;
NF ????? ????? ? ??????? ??????;
RS ??????????? ????? ?? ?????; "





 ????????? ?? SED
 ????????? ??????
  ???????????????? ?? shell (UNIX)
 ??????? ?????????????? sed
 ?? ????? «??????? ????????» (?? ????????-?????????? ?????), ???. 1863 ?.).


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"