�����������
������������ ��� GNU Awk
Arnold
D. Robbins
������� ������� �. �.
����������
����������
B. ��������� gawk
���
���������� �������� ���������� ��� ��������� gawk �� ���������
����������, ������� �������������� ��������������. ������
������������ ������������ Unix (� ������������ GNU), ����� ����
����������� � ������ ��������. ���� `ACKNOWLEDGMENT' � ��������
gawk ����������� ����������� ������ ���, ������������� �����
��������. ��� ����� ������� � ������� B.7 [������������ ����������
� ������], ���. 292.
B.1
��������������� gawk
�
���� ������� ������� �����������, ��� �������� �������� gawk, ���
�������, � ��� ���������� � ��������� ������ � ������������.
B.1.1
��������� �������� gawk
�������
��� ���� ��������� ������������ ����������� GNU. 1.
���������� ��� � ����-������, ��� ��� ��� �����.
2.
����� �������� gawk ��������������� � Free Software Foundation.
�������� ������������ ����������� �������� ��� Unix, MS-DOS � VMS,
�� ����� � CD-ROM. ����� �����:
Free
Software Foundation 59 Temple Place--Suite 330 Boston, MA
02111-1307 USA Phone: +1-617-542-5942 Fax (including Japan):
+1-617-542-2652 E-mail: gnu@gnu.org �������� �� FSF
��������������� ������������ �� ��������� foundation �
������������ ���������� ������������ �����������.
3.
����� �������� gawk , ��������� ��������� ftp � Internet host
gnudist.gnu.org, � �������� `/gnu/gawk'. ��� ������ ������ ������
ftp, ������ ����� �������� ����������� ����������� GNU. ���� ����
�������� ��� "site:directory" , �� ������� ���������,
��� ����������� ����������� GNU. ����� ������������ �����, �������
������������� ������ � ���.
����:
cair-archive.kaist.ac.kr:/pub/gnu
ftp.cs.titech.ac.jp ftp.nectec.or.th: /pub/mirrors/gnu
utsun.s.u-tokyo.ac.jp:/ftpsync/prep
���������:
archie.au:/gnu
(archie.oz or archie.oz.au for ACSnet)
������:
ftp.sun.ac.za:/pub/gnu
Middle East: ftp.technion.ac.il:/pub/unsupported/gnu Europe:
archive.eu.net ftp.denet.dk ftp.eunet.ch ftp.funet.fi:/pub/gnu
ftp.ieunet.ie:pub/gnu ftp.informatik.rwth-aachen.de:/pub/gnu
ftp.informatik.tu-muenchen.de ftp.luth.se:/pub/unix/gnu
ftp.mcc.ac.uk ftp.stacken.kth.se ftp.sunet.se:/pub/gnu
ftp.univ-lyon1.fr:pub/gnu ftp.win.tue.nl:/pub/gnu
irisa.irisa.fr:/pub/gnu isy.liu.se nic.switch.ch:/mirror/gnu
src.doc.ic.ac.uk:/gnu unix.hensa.ac.uk:/pub/uunet/systems/gnu
�����
�������:
ftp.inf.utfsm.cl:/pub/gnu
ftp.unicamp.br:/pub/gnu
��������
������:
ftp.cs.ubc.ca:/mirror2/gnu
USA: col.hp.com:/mirrors/gnu f.ms.uky.edu:/pub3/gnu
ftp.cc.gatech.edu:/pub/gnu ftp.cs.columbia.edu:/archives/gnu/prep
ftp.digex.net:/pub/gnu ftp.hawaii.edu:/mirrors/gnu
ftp.kpc.com:/pub/mirror/gnu
USA
(�����������):
ftp.uu.net:/systems/gnu
gatekeeper.dec.com:/pub/GNU jaguar.utah.edu:/gnustuff
labrea.stanford.edu mrcnext.cso.uiuc.edu:/pub/gnu
vixen.cso.uiuc.edu:/gnu wuarchive.wustl.edu:/systems/gnu
B.1.2
���������� ��������
gawk
������������ � tar file, ������������ �� GNU Zip ���������, gzip.
���� �� ������ �������� (��������. `gawk-3.0.4.tar.gz'), �������
���������� ���� �� gzip � ����� ����������� tar ��� ����������
��������. �� ������ ��� ��������� �������� gawk ������������
��������� ��������:
# � ������� V, �������� 'o' � ������� tar
gzip -d -c gawk-3.0.4.tar.gz -- tar -xvpf
���
������� ������� � ������ `gawk-3.0.4' � ������� ��������. ���
����� � ��������� ����� ����� `gawk-V.R.n.tar.gz'. V ������������
������� ������ gawk, R �������� ������� ������ ������ V, � n
�������� ������� �������������, � ��� ������, ��� ����� ������ �
������� ����������. ������� ������� ������������� ���� 4, �� �
��������� ��������� �� �������� ������, ������ � �������������
����� ������� �������. (�������, ��� ������ �������, ������� ���
������ 90, �������� "beta," ��� non-production software;
��� �� ������� ������������ ������ ��������, ���� ������ �� ��
������ ��������������������.)
����
��������� �� �� ������� Unix, ��� ���������� ��������������
�������� ��� ��������� � ���������� �������� gawk. �� ������
�������������������� �� ����� ������ � ���������� ��������.
B.1.3
���������� �������� gawk
��������
gawk ����� ��� �������� ��-������, ������ � �������������,
����������� � �����, ����������� � ��������� ������������ (��.
������ B.2 [���������� � ��������� �� ��������� Unix], ���. 284),
� ��������� ������������, ����������� � ���������, ��-Unix,
������������ ��������. � ���������, � ��� ������: ��������� `.c',
`.y' � `.h' ����� ��� ����� ���������� �������� �������� ����
gawk.
`README'
`README.d/README.*' ������������ �����: `README' ��� gawk
��� Unix, � ��������� ��� ��������� ���������� ���������� �
������������ �����������.
`INSTALL'
���� � ������� �������� ������������ � ���������.
`PORTS'
������ ������, �� ������� gawk ��������� � �� ������� �������
������ ������� ������.
`ACKNOWLEDGMENT'
������ ���, ��������� ������������ ����� � ���� ���
������������.
`ChangeLog'
��������� ������ ���������, ��������� � �������� ���� ���
����������� ������ ��� ��� �������������������.
`NEWS'
������ ��������� � gawk �� ������� ���������� ������� ���
�����������.
`COPYING'
����� ��������� �������� GNU.
`FUTURES'
�������� �������� ������� �/��� ���������, �������������� �
������� ��������, � ���������� ��������� ����� ���������,
��������� � �� ����������.
`LIMITATIONS'
������ ��������, ������� ������������ ������������������ gawk.
����������� �� ������� �� ���������� � �������� ������������
�������, � �� �� ����� gawk.
`POSIX.STD'
�������� ��������, � ������� �������� POSIX ��� awk �������, �
��, ��� gawk ������ ��� ��������.
`PROBLEMS'
����, ����������� ������������ �������� � ������� �������.
`doc/awkforai.txt'
�������� ������, ����������, ������ gawk ���� ������� ���� ���
���������������� AI (�������������� ����������).
`doc/README.card'
`doc/ad.block' `doc/awkcard.in' `doc/cardfonts' `doc/colors'
`doc/macros' `doc/no.colors' `doc/setter.outline'
��������
��� troff ��� ����-������� ���������� �����. ����� ������ troff,
����� ��� GNU Troff (groff), ���������� ��� ��������� �������
������. ��. ���� `README.card' � ������������, ���� � ��� ������
������ troff.
`doc/gawk.1'
�������� ��� troff ��� manual page � ��������� gawk. ������������
��� �������� ������������� Unix.
`doc/gawk.texi'
�������� ���� Texinfo ��� ��������� �����. �� ������ ����
��������� � TEX ��� ��������� ��������� ���������, � � makeinfo
��� ��������� ��������������� ����� Info.
`doc/gawk.info'
��������������� ���� Info ��� ���� �����.
`doc/igawk.1'
�������� troff ��� manual page, ������������ ��������� igawk,
�������������� � ������� 16.2.9 [������� ������ ������������
������������ �������], ���. 244.
`doc/Makefile.in'
������� ����, ������������ � ���������������� �������� ���
��������� ������������ `Makefile' ��� �������� ������������.
`Makefile.in'
`acconfig.h' `aclocal.m4' `configh.in' `configure.in' `configure'
`custom.h' `missing/*' ��� ����� � ���������� ������������ ���
������������ gawk ��� ��������� ������ Unix. ��� ������� ��������
� ������� B.2 [���������� � ��������� gawk � Unix], ���. 284.
`awklib/extract.awk'
`awklib/Makefile.in' ������� `awklib' �������� �����
`extract.awk' (��. ������ 16.2.7 [���������� �������� �� Texinfo
Source Files], ���. 238), ������� ����� �������������� ���
���������� �������� �������� �� Texinfo source file ��� ���������
�����, � ����� `Makefile.in' file, ������� ��������
���������������� ���������� ��� ��������� `Makefile'. ��� �����
�������� ���������� gawk, ������������ ������� �� ����� 15
[���������� ������� awk], ���. 169, � ��������� igawk �� �������
16.2.9 [������� ������ ������������� ���������� �������], ���.
244, ��������� � ������� ���� ��� �������������. ��� �����������
��� ����� �������� ���������.
`atari/*'
�����, ����������� ��� ���������� gawk �� Atari ST. ��. ������ �
������� B.5 [��������� gawk �� Atari ST], ���. 289.
`pc/*'
��� ����� ���������� ��� ���������� gawk ��� MS-DOS � OS/2. ��.
������ � ������� B.4 [MS-DOS � OS/2, ��������� � ����������], ���.
288.
`vms/*'
�����, ������ ��� ���������� gawk ��� VMS. ��. ����������� �
������� B.3 [��� ������������� � ������������� gawk �� VMS], ���.
285.
`test/*'
����� ������ ��� gawk. ����� ������������ `make check' �� ��������
������ �������� gawk ��� ������� ����� ������ gawk �� ������
������. ���� gawk ������� �������� `make check', �� �� ������ ����
������� � ���������� ��� ��������.
B.2
���������� � ��������� gawk �� Unix
������
��� ���������� � ��������� gawk ���������� ������ ��� �������.
������, ���� ������������ ��������� �������, ����� ���������
����������� ��� ����� ���������������� gawk ��� ����� �������.
B.2.1
���������� gawk ��� Unix
�����
���������� �������� gawk, ������� ������� �� `gawk-3.0.4'. �������
����������� �������� GNU, gawk ��������������� ������������� ���
������� Unix ������ ��������� ������������. ��� ���������
������������ �������� �������� Bourne, ������� ��� ������������
����������� GNU autoconf. (����������� ����������� autoconf
��������� ������� � Autoconf--Generating Automatic Configuration
Scripts, ������� �������� � Free Software Foundation.)
�����
��������������� gawk, ������ ��������� sh ./configure. ��� ����
`Makefile' � `config.h', ����������� � ����� �������. ����
`config.h' ��������� ��������� ����� � ����� �������. �� ������
�������� ��������������� `Makefile' ��� ��������� ����������
CFLAGS, ������� ��������� ����������� ��������� ������,
������������� ����������� C� (������ ��� ������ ����������� ���
����������� ��� �������).
��
����� ������ �������� ���� ����������� �������� ��� �����������
make-����������, ����� ��� CC � CFLAGS, � ��������� ������ ���
���������� ������������:
CC=cc
CFLAGS=-g sh ./configure ��. ������ � ����� `INSTALL' ��
�������� gawk.
�����
���������� ������������ � ���������� �������������� `Makefile',
������� ������� make, � ������ ����� ����� �� �������� �������
������ gawk. ��� � ���! (���� ��� ���� �� ��������, �������
���������� ��������� �� ����������; ��. ������ B.7 [��������� �
���������� � �������], ���. 292.)
B.2.2
������� ������������
(����
������ ������������ ������� ������ ���� �� ������ ���-�� ��
������������ ����� C� � ������������ ������� Unix.)
��������
��� ��� gawk ������ ��������� �������������� ���������� ����������
���, ��� ��� ��������. ��� ������, ��� gawk ����������
������������ ������������, ��������������� ��������� ANSI C �
��������� POSIX ��� ���������� c ������������ ��������. ���
������������� ����������� ANSI C, ��������� ������� ������������
��� ������ � ��������� �������� �� ����� ����������.
������
������� Unix �� ������������ ���� ���������� �� ANSI �� POSIX.
`���������' ����������� � �������� gawk �������� ���������� ������
��� �����������, ������� �������� �������� ����� �������.
����
`config.h', ������� ��������� ���������� ������������, ��������
�����������, ����������� �������� ���������� ������������ �������,
� ������� �� ��������� �������������� gawk. � ���� ����� �������
��� �����: ��� �������� ����� �������� � ����� ���� ���������
��������, ��� (����������������) ����������� ������� ����������
�������� � ����� ����������� C�, � ����� ������ ��������� ����� �
����� �������� Unix. ��������, ����� �� ��������� ��������
st.blksize � ����������� ���������. � ���� ������
`HAVE.ST.BLKSIZE' ����� ��������������.
��������,
��� ��� C�-���������� ������ � ������������. ��� ����� ���������
��� ��-�� �������� �� ������ ��� �� ����������� ������������
�������. ����� ������ ���, ����� ��������������� ���� `custom.h'.
����������� `#ifdef', ������� �������� ��� ����� �������, � ����
#define ��� ���������, ������� ������ ���������� ������������, ��
�� ������� �����, ��� #undef ��� ���������, ������� ������������
����������, ���� � �� ������ ���� ��� ������. `custom.h'
������������� ���������� ����������� `config.h'.
�����
��������, ��� ��������� ������������, ����������� �����������
autoconf, �� ����� �������� �� ����� ������� � �����-�� ����
�����. ���� � ��� �����-�� ������������, ���� `configure.in' ����
���� ��� autoconf. �� ������ �������� ���� ���� � �������������
����� ������ ������������, ������� ����� �������� �� �����
�������. ��. ������ B.7 [��������� � ���������� � �������], ���.
292, � ��� ��� �������� � �������� ��� ���������������� gawk. ���
�� ����� �������� ����� ������������ ��� ������� ����������� �
`configure.in' �/��� `custom.h'.
B.3
��� ������������� � ������������� gawk �� VMS
�
���� ������� ����������� ���������� � ��������� gawk ��� VMS.
B.3.1
���������� gawk �� VMS
���
���������� gawk ��� VMS, ������� ��������� ��������� DCL, �������
������ ��� ����������� ������� CC � LINK, � ����� �������
`Makefile'��� ������������� � �������� MMS. �� ��������� ��������
�������� ���
$ @[.VMS]VMSBUILD.COM
���
$ MMS/DESCRIPTION=[.VMS]DESCRIP.MMS GAWK
�
����������� �� ����, ����� C�-���������� ������������, ��������
������ �� ������� ���������� � �������:
VAX
C V3.x ����������� ��� `vmsbuild.com' ��� `descrip.mms' ���
����. ��� ���������� CC/OPTIMIZE=NOLINE, ������� ������������ ���
������ 3.0.
VAX
C V2.x �� ������ ����� ������ 2.3 ��� 2.4; ����� ������ ��
����� ��������. �������������� ��� `vmsbuild.com' ���
`descrip.mms' � ������������ � ������������� � ���. ���
`vmsbuild.com' ��� �������� �������� ���� ������������� `!'. �����
�������������� `config.h' (��� ����� ����� `[.config]vms-conf.h')
� ��������������� ��� ������� ��� ������ `#define ..STDC.. 0' �
`#define VAXC.BUILTINS' ����� �����.
GNU
C �������������� `vmsbuild.com' ��� `descrip.mms';
��������� ������� �� ��������� ��� VAX C V2.x, �� ����� ��� ��
�����. `config.h' � ���������� �� ���������.
DEC
C �������������� `vmsbuild.com' ��� `descrip.mms' ��������
������������ � ���. `config.h' �� ��������� � ����������.
gawk
������������ ��� VAX/VMS 5.5-1 � �������������� VAX C V3.2, GNU C
1.40 � 2.3. ��� ������ �������� ��� ��������� ��� VMS V4.6 �
��������� ������.
B.3.2
��������� gawk �� VMS
���
��������� gawk ����� ������ "�����������" �������,
������� ���� ������ DCL � ���������� � ����� �������.
��������:
$ GAWK :== $disk1:[gnubin]GAWK
(����������
����������� ������������ gawk.exe ������ `$disk1:[gnubin]'.)
������ ������ ���� ������� � `login.com' ������ ������������, ���
����� ��������� gawk, ��� ��� �� ����� ��������� ������ ���, �����
������������ ������ � �������. ��� ������������, ������ ����� ����
������� � ��������� ��������� `sylogin.com', ������� �����
��������� ���� ������������� ��������� gawk.
���
������� ���� � help ����� ���� �������� � VMS help-����������: $
LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP (�����, ���� ������,
���������� ��������������� �� ���� ���������� help ������
����������� ���������� VMS `HELPLIB'.) ����� �������� ������ help
$ HELP GAWK ������ ���������� � � ���������� gawk � � �����������
����� awk.
����������
��� `AWK.LIBRARY' ����� ���������� ������������ �� ��������� �����
��� ����������� ������ awk. ��� ��������� `-f' , ���� ���������
��� ����� �� �������� ���������� �� ���������� ��� ���� � �������,
gawk ����� ������� ������ ��� � ������� ��������, ����� �
��������, ��������� ����������� `AWK.LIBRARY', ���� ���� ��
������. ���� ����� ������ � ����� ��������� ���� ��� ��� �� �����
������, �� gawk �������� ��������� `.awk' � ����� ����� � ��������
��� �����. ���� `AWK.LIBRARY' �� ����������, ��� ����� ������
�������� �����������.
B.3.3
���������� gawk �� VMS
�����
� ��������� ������ � ���������� � �������� ����������� ����������
�� VMS, ��� ��� ������� �� ��������� ����� ��� �� ������
���������� ������ ���� ������� �������� � ����� ��� �����
����������� ���������.
��� ��������� ����������� ������:
$ gawk -- "BEGIN -print ""Hello, World!"""""
$ gawk -"W" version ! could also be -"W version" or "-W version"
�������,
��� ������-����������� � ��������� ������ ������ ���� � ��������.
VMS-������� gawk �������� ��������� � ����� DCL � ���������� �
������������� ���������� � ����� shell (��. ����������� � help).
���� �������� ������ �� �������� ������� ��������� ������ ���� ��,
��� ���� ������� ������ ���� �������� (��� � ������������ ������ �
����������� ���� ���������), �� ������� ���������� �������������.
����� ������ ���, ��������� ������ �������������� ������ `--' ,
����� ������� ����� Unix ������ ������� �� DCL. ���� ������������
�����-������ ������ ��������� ���� dash (��� ������� ���������,
����� ��� ����� � ������� ��� ���������), �� ��������������� ��� �
`--' ����� ��������.
��
��������� ���� ������ ����������� ������, ��������� ����������
`-f', ���� "SYS$DISK:[],AWK.LIBRARY:". ���������� ���
`AWKPATH' ����� ������������ ��� ��� ���������. ������ `AWKPATH'
���� ����������� �������� ������ ���������. ��� ����������� ���
�������� ���� ����� � �������, ����� ���������� ������������
�������, � �� ����� ���������� ������ ������ RMS.
B.3.4
���������� � ������������� gawk �� VMS POSIX
�����������
����������� ���� ����������, ���� `vms/gawk.hlp' ������ ����������
��������� � ���������� help. �������� ������ ������ ����
����������� � �������� ������� container ������ ������� ��������
������� VMS. ���������, ��� �������� `configure' �
`vms/posix-cc.sh' ���������; ����������� `chmod +x' �� ���, ����
�����. ����� ��������� ��� ��������� �������:
psx?
CC=vms/posix-cc.sh configure psx? make CC=c89 gawk
������
������� �������� ����� `config.h' � `Makefile' �� ����������,
��������� �������� ��� �������� C�-����������� � �����������
������������. ������ ������� ����������� � ����������� gawk,
��������� ��������������� ���������� ��; ����������� ���
��������������� �� make � ���, ��� �� �� ����� �������������� CC.
������������ ��������� ����� ����� ������� ��� ����������, �� ���
������������ ��������������� �������� ����� � �������� ����������.
��� ���� ��������� � VAX/VMS V6.2, VMS POSIX V2.0 � DEC C V5.2.
����
���������, gawk ����� �������� ������� ���� ������ ��������
��������. � ������� �� ������ ������������ �� VMS gawk, ����� ��
����� ����������� ����������� � ��������� ������ � ��������� VMS
POSIX.
|