[an error occurred while processing this directive]
Software  >  OpenVMS Systems > Documentation > 731final > 6489 > hanzi

HP OpenVMS Systems Documentation

Content starts here

OpenVMS �û��ֲ�


ǰҳ Ŀ¼ ����

9.2 �����ļ�

Ҫ�����ļ���ʹ�� DCL ���� SORT��ָ��Ҫ�����ļ������ö��ŷֿ�����������������������ļ������ơ�

��ѡ�أ�����Ϊ��Ҫ�����ÿ���ֶ�ָ��һ������ÿ��������������Ϣ:

  • ��¼�м��ֶεĿ�ʼλ�� (�����)
  • ���Ĵ�С (�����)
  • ������������
  • ��¼����Ĵ���
  • �������ȼ�

�����ָ���κμ���Sort �ٶ�ֻ��һ����������������ֶ���:

  • �ڼ�¼�ĵ�һ��λ�ÿ�ʼ
  • ����������¼
  • �����ַ�����
  • ����������

������������ʹ��Ĭ�ϼ���

  1. ����������У��ļ� NAMES.LST ����������:


    $ SORT NAMES.LST BYNAME.LST
    

    �������������������ļ� BYNAME.LST����ͼ 9-1 ��ʾ��

    ͼ 9-1 ������������б�


  2. ����������У��ļ� NAMES.LST �� NAMES2.LST �����������������ļ� BYNAME.LST��Sort �Դ���Щ�ļ�����������һ�����ļ�:


    $ SORT NAMES.LST,NAMES2.LST  BYNAME.LST
    

�й� SORT �޶��ʵ������б�������� 9.9 ����

9.2.1 �����

ʹ�� /KEY �޶��ʶ���һ������ָ�������ʱ��Ϊÿ����ʹ��һ�������� /KEY �޶��ʡ�

�� 9-2 ������ɼ��� 5 ��Ԫ�ء�

�� 9-2 /KEY �޶���ֵ
��Ԫ�� ֵ ����
��λ�� POSITION: n ���ֶεĵ�һ���ֽ��ڼ�¼�е�λ�á���¼��һ���ֽڵ�λ���� 1��POSITION: n �DZ���ġ�
����С SIZE: n ���ֶεij��ȡ�SIZE: n �DZ���ģ��������ݳ��⡣

ָ����Сʱ��Ϊ��ָ������������ȷ��ʲôֵ�ǿɽ��ܵġ��±��г�ÿ�����ݵĿ���ֵ��������ָ������С�ĵ�λ��

���� ��Ч��Χ ��λ
�ַ� 1 �� 32,767 �ַ�
������ 1��2��4��8 �� 16 (���ڸ����� Sort/Merge ���ó��򣬶������������͵ļ���С������ 1��2��4 �� 8 �ֽڡ��� 16 �ֽڶ����Ƽ���֧������������ OpenVMS Alpha ���а汾��) �ֽ�
ʮ���� 1 �� 31 ����
���� ����Ҫֵ��

����ʮ�������ݣ����ʮ���Ʒ��Ŵ洢��һ�������ֽڣ���ô����ֽڲ��������ݴ�С�ļ����С�

���ָ���ļ�������¼��ĩ�ˣ�Sort ���ȱʧ���ַ��������ַ���

�������� CHARACTER �ַ����ݡ�CHARACTER ��Ĭ���������͡�
  BINARY ���������ݡ�

SIGNED --- �з��ŵĶ����ƻ�ʮ�������ݡ�SIGNED �Ƕ����ƺ�ʮ�������ݵ�Ĭ�ϸ�ʽ��

UNSIGNED --- �޷��ŵĶ����ƻ�ʮ�������ݡ�

  F_FLOATING F_FLOATING ��ʽ���ݡ�
  D_FLOATING D_FLOATING ��ʽ���ݡ�
  G_FLOATING G_FLOATING ��ʽ���ݡ�
  H_FLOATING �� VAX ϵͳ�ϣ�H_FLOATING ��ʽ���ݡ�(������ Sort/Merge ���ó���ǰ��֧�֡�)
  S_FLOATING �� Alpha ϵͳ�ϣ�IEEE S_FLOATING ��ʽ���ݡ�
  T_FLOATING �� Alpha ϵͳ�ϣ�IEEE T_FLOATING ��ʽ���ݡ�
  DECIMAL ʮ�������ݡ�

TRAILING_SIGN --- β����ŵ�ʮ�������ݡ�TRAILING_SIGN ��ʮ�������ݵ�Ĭ�ϸ�ʽ��

LEADING_SIGN --- ǰ�����ŵ�ʮ�������ݡ�ǰ�����ű������ֶεĵ�һ��λ�ã�������ֶα�������������

OVERPUNCHED_SIGN --- �����׵�ʮ�������ݡ�OVERPUNCHED_SIGN ��ʮ�������ݵ�Ĭ�ϸ�ʽ��

SEPARATE_SIGN --- �������ŵ�ʮ�������ݡ�

  ZONED ������ʮ�������ݡ�(������ Sort/Merge ���ó���ǰ��֧�֡�)
  PACKED_DECIMAL ѹ����ʮ�������ݡ�
������� ASCENDING ����������ĸ�����ִ���������������ASCENDING ��Ĭ�ϴ���
  DESCENDING ���ݼ�����ĸ�����ִ���������������
�����ȼ� NUMBER: n ���û�а������ǵ����ȼ������г����������ͨ������ָ��ÿ���������ȼ����򡣿�ָ��ֵ�� 1 �� 255��

������ֶε����ݲ����ַ����ݣ�����ָ�����������͡�Sort/Merge ���ó���ʶ��������������:

BINARY��[SIGNED]  
BINARY��UNSIGNED  
CHARACTER  
DECIMAL��LEADING_SIGN��SEPARATE_SIGN [SIGNED]  
DECIMAL��LEADING_SIGN��[OVERPUNCHED_SIGN��SIGNED]  
DECIMAL [,SIGNED��TRAILING_SIGN��OVERPUNCHED_SIGN]  
DECIMAL��[TRAILING SIGN]��SEPARATE_SIGN��[SIGNED]  
DECIMAL��UNSIGNED  
D_FLOATING  
F_FLOATING  
G_FLOATING  
H_FLOATING  
S_FLOATING��IEEE (ֻ���� Alpha ϵͳ)  
T_FLOATING��IEEE (ֻ���� Alpha ϵͳ)  
PACKED_DECIMAL  
ZONED  

���������ڵ���Ŀ��Ĭ�ϵģ�����Ҫָ����

ע��

����ʮ�����ַ������ݣ�Sort/Merge ���ó���Ϊ VAX �� Alpha ϵͳ���������봮����һ����Ч�����Dz�ͬ�ġ��� VAX ϵͳ�ϣ�������յ�һ����Ϣ����֪Ϊ�˱Ƚϰ���Ч���� (����������) ת��Ϊ��Ч��ʮ�����ַ������� Alpha ϵͳ�ϣ�Sort/Merge ִ��ͬ����ת����������ʾ������Ϣ������������£����������ļ������ݲ����ĵ�д������ļ���

��ͼ 9-2 �У��ļ� EMPLOYEE.LST ��ÿ����¼���� 3 ���ֶ�: (1) ��������(2) �ʺź� (3) ��Ա����

ͼ 9-2 �б��еļ�¼�ֶ�


��������˵����ʹ�û�ʹ��һ�����ֶ�ʱ��������� EMPLOYEE.LST �еļ�¼:

  1. ����������У�ʹ�� /KEY �޶��������ʺ��ֶΣ����ʺ����� EMPLOYEE.LST:


    $ SORT/KEY=(POSITION:5,SIZE:4,DECIMAL)  EMPLOYEE.LST BILLING1.LST
    

    �������ָ�����ֶ� (�ʺ�) ��ʼ��λ�� 5���� 4 ���ַ���������ʮ�������ݣ�����Ӧ�ð��������� (Ĭ��)��ͼ 9-3 չʾ�����������Ľ����

    ͼ 9-3 �����ֶ�����


  2. �������չʾû��ָ�����ֶ�ʱ����������ļ� EMPLOYEE.LST:


    $  SORT EMPLOYEE.LST BYDEPT.LST
    

    ��Ϊû��ָ����������ٶ�Ĭ��������ͼ 9-4 չʾ�����������Ľ����

    ͼ 9-4 ��Ĭ�ϼ���¼����



    Sort �� EMPLOYEE.LST ��ÿ����¼��Ϊ�ַ����ݵ�һ����������������У�ÿ����¼����һ����������һ���ʺź�һ����Ա������� Sort �ҵ��ظ��IJ����������Ͱ��ʺ�����������������ҵ��ظ��ĸ����ʺţ����Ͱ���Ա������ע�⣬�ʺ��Ǽ�¼��һ���֡���������ָ����������Ϊ�ַ����ݡ�

9.2.2 ����ֶ�

�������ʹ��һ�����ϵļ� (��� 255 �����ļ���)�����԰����ǵ����ȼ�����ָ�����������һ������������һ���Ǹ��������ȵȡ����⣬����ʹ�� NUMBER:n ָ���������ȼ���ÿ�������Ե�����ݼ���

�����������У��ļ� EMPLOYEE.LST �������Ȱ��չ�Ա������Ȼ�� (����ͬ����¼ʱ) �����ʺż�:


$  SORT /KEY=(POSITION:10,SIZE:15,CHARACTER) -
_$ /KEY=(POSITION:5,SIZE:4,DECIMAL) EMPLOYEE.LST BILLING2.LST

ͼ 9-5 չʾ�����������Ľ����

ͼ 9-5 �ö���ֶ�����


�����������У���¼����ʱ���Ȱ��������Ľ���Ȼ�󰴹�Ա��������:


$ SORT/KEY=(POSITION:1,SIZE:3,DESCENDING) -
_$ /KEY=(POSITION:10,SIZE:15) -
_$ EMPLOYEE.LST BILLING3.LST

ͼ 9-6 չʾ�����������Ľ����

ͼ 9-6 �ö���ֶ����� (����ͽ���)


9.2.3 ͬ���ļ��ֶ�

����Ĭ�ϣ�Sort/Merge ������ͬ�����ֶεļ�¼�����Dz�ά�������������ļ��г��ֵ�ͬ������Ҫ����ͬ����¼����ķ�������ָ�������޶���֮һ:

  • /STABLE
    ά��ͬ����¼��������򡣵������������ļ�ʱ���ʹ������޶��ʣ���ô���ͬ����¼ʱ����һ���ļ���ͬ����¼�ڵڶ����ļ���ͬ����¼֮ǰ���Դ����ơ�
  • /NODUPLICATES
    ֻ����ͬ����¼��һ�������������Ҫָ�������ĸ��ظ���¼����ô�ڳ��򼶵��� Sort ��ָ��һ���ȼ����г���

/STABLE �� /NODUPLICATES �޶����Dz����ݵġ���ͬһ�������в���ͬʱָ���������޶��ʡ�

�����������У����ļ� EMPLOYEE.LST ���޳��ظ��ʺŵļ�¼:


$  SORT /KEY=(POSITION:5,SIZE:4)/NODUPLICATES EMPLOYEE.LST BUDGET.LST

ͼ 9-7 չʾ�����������Ľ����

ͼ 9-7 ��ͬ���ļ��ֶ�����


9.2.4 ���ַ�����

�������ļ�¼�������ַ����ݵ���Ŀ����ָ��ÿ�������������͡����⣬С�ĵؼ��㿪ʼλ�úʹ�С����Ϊ�Ƚϵ���Ŀ����ռ�� 1 �������ֽڡ�

���Ҫ������ļ���¼���� 20 ���ַ�������� 3 �� F_floating ��ʽ�ĸ���������ô��λ��������ʾ:

  • �ַ�����ռ��λ�� 1 �� 20 (20 ���ַ�)��
  • ��һ�� F_floating ������ռ��λ�� 21 �� 24��
  • �ڶ��� F_floating ������ռ��λ�� 25 �� 28��
  • ������ F_floating ������ռ��λ�� 29 �� 32��

Ҫ�������������������ļ���ָ�����ֶ�����:


$ SORT/KEY=(POSITION:29,F_FLOATING) STATS.RAW STATS.SOR

����Ҫָ���������Ĵ�С����Ϊ���ǹ̶��ĸ��ֽڡ�

9.2.5 ����ļ���֯

����Ĭ�ϣ��������һ������ļ������ļ���֯���һ�������ļ���ͬ��Ҫָ����ͬ������ļ���֯������ Sort �������У�������ļ�˵��֮����������޶���֮һ:

  • /FORMAT (��¼��ʽ)
    ��ʹ���������޶���ʱ�����Զ����ļ���¼��ʽ�����ȺͿ��С��
  • /INDEXED_SEQUENTIAL
    ʹ������޶��ʣ����Զ�������ļ���������˳���ļ���֯�����ָ������˳����Ϊ����ļ���֯��������������²���:
    • ��ִ�� Sort ����֮ǰ������һ����Ϊ����ļ��Ŀ��ļ���Sort ��Ҫһ���Ѿ����ڵ�����ļ��������ǿյġ�
    • �� SORT �������У�������ļ���֮����� /OVERLAY �޶��ʡ�/OVERLAY �޶���ָ�������ļ�Ҫ�������ļ��������¼���ǡ�
  • /RELATIVE
    ʹ������޶��ʣ����Զ�������ļ�������ļ���֯��
  • /SEQUENTIAL
    ʹ������޶��ʣ����Զ�������ļ���˳���ļ���֯��

�����������У�������˳���ļ� EMPLOYEE.LST ����֮�����һ��˳���ļ�:


$ SORT/KEY=(POSITION:10,SIZE:15) -
_$ EMPLOYEE.LST BYNAME.LST/SEQUENTIAL

9.2.6 �������

Sort �����ļ�ʱʹ�������ڲ�����֮һ: ��¼����ǩ����ַ��������(������ Sort/Merge ���ó���ֻ֧�ּ�¼���̡��Ա�ǩ����ַ���������̵�ʵ������������ OpenVMS Alpha ���а汾��) ָ���Ľ��̿���Ӱ�� Sort ������Ч�ʡ��й��Ż� Sort �� Merge ���������飬����� 9.8 ����

�±�����������̡�ʹ�� /PROCESS=type �޶��ʿ�ָ��������̡�

������� ���� ����
��¼ RECORD ����ʱ���ּ�¼ԭ�������Ҳ���һ������������¼������ļ�����¼��Ĭ��������̡�
��ǩ TAG ֻ������ֶΣ�Ȼ�����¶�ȡ�����ļ�������һ������������¼������ļ���������һ��������¼����һ����

������̿ռ���٣���ǩ���������õģ���Ϊ�������ڼ���ͨ��ʹ�ý��ٵĹ����ļ��ռ䡣�ڴ��������£���ǩ����ȼ�¼����������Ϊ����Ҫ�����ʱ�����¶�ȡ�����ļ���

��ַ ADDRESS ֻ������ֶΣ����Ҳ���һ������ļ�������ļ����Զ����Ƹ�ʽ�洢����¼�ļ���ַ (RFA) ��������

��ַ����ȼ�¼����죬���DZ����дһ������ʹ��¼��ַ�������ļ��ļ�¼������

���� INDEX ֻ������ֶΣ����Ҳ���һ���������� RFA ������ļ� (�Զ����Ƹ�ʽ)��

���ַ����һ������������ȼ�¼����죬���DZ����дһ������ʹ��¼��ַ�������ļ��ļ�¼������

9.3 ָ���Ƚ�˳��

�ַ������Ƚ�˳�����򡣶��ڰ����ַ����ݵ��ļ�������ʹ�� /COLLATING_SEQUENCE=sequence �޶�����ָ���Ƚ�˳���±������Ƚ�˳����ѡ��:

�Ƚ�˳�� ˳�� ����
ASCII ASCII �ַ����ݵ�Ĭ�ϱȽ�˳��ASCII ˳���������� (0 �� 9)��Ȼ���Ǵ�д��ĸ (A �� Z)�������Сд��ĸ (a �� z)��
EBCDIC EBCDIC ����һ���� EBCDIC ˳�����������ļ���������Ȼ�� ASCII ��ʾ��EBCDIC ˳������Сд��ĸ (a �� z)��Ȼ���д��ĸ (A �� Z)����������� (0 �� 9)��
DEC ����ַ��� MULTINATIONAL ����Ƚ�˳����� DEC ����ַ����Ƚ��ַ� (�������¼ A)����MULTINATIONAL �ַ�˳���У��ַ��������¹�������:
  • ���ж�����ʽ���ַ���������ַ��ıȽ�ֵ (�磬A'��A" �� A` �Ƚ�Ϊ A)��
  • Сд��ĸ�ַ������ǵĴ�д��ĸ������ͬ�ıȽ�ֵ (�磬a �Ƚ�Ϊ A���� a" �Ƚ�Ϊ A")��
  • ��������ַ����Ƚ�Ϊ��ͬ����ִ�зֽ�Ƚϡ������Ƚ��ַ�������������������������Ե��ַ�����Ȼ�Ƚ���ͬ��ʵ���ϲ�ͬ�ַ������µIJ������ַ�����Ȼ�Ƚ�Ϊ��ͬ����ô�ͱȽ��ַ������ִ��롣�����ձȽϺ�Сд��ĸ�ַ������ڴ�д��ĸ֮ǰ��
�����ַ��� (NCS) �Ƚ�˳���� �����ıȽ�˳����붨���� NCS ���С��й����飬����� OpenVMS National Character Set Utility Manual��

(������ Sort/Merge ���ó���֧�ֹ����ַ��� (NCS) �Ƚ�˳�� �� NCS �Ƚ�˳���֧������������ OpenVMS Alpha ���а汾��)

�û��Զ���˳�� (˳���ַ���) ָ��һ���û��Զ���ıȽ�˳���û��Զ���Ƚ�˳��ֻ֧��˵���ļ�������֧�������н��档

(������ Sort/Merge ���ó���֧���û��Զ���ıȽ�˳�򡣶��û��Զ���Ƚ�˳���֧��Ҫ���������� OpenVMS Alpha ���а汾��)

    ָ��һ�����ַ���˫�ַ����ַ���Χ���ַ������ɶ���һ���Ƚ�˳��(˫�ַ����κ��������ַ��ļ��ϣ��Ƚ�ʱ����������һ���ַ������磬"CH" ���Զ���ɱȽ�Ϊ "C"��) ����ַ���Ӧ������Բ�����ڡ�

Ҳ����������Ӧ�İ˽��ơ�ʮ���ƻ�ʮ������ֵ��ʾ�ַ�����Ҫʹ�û��������: %O��%D �� %X��

�������Լ��ıȽ�˳��ʱ������ע�����¹���:

  • ���ַ��������� ("") �ڡ�
  • �ö��� (,) �ֿ�ÿ���ַ����ַ���Χ�����������б�����Բ�����ڡ�
  • Ϊ������ Sort �� Merge �������ַ����������ַ������Ƚ�ֵ���κ�û�бȽ�ֵ���ַ��������ԣ�����ָ�� FOLD �� MODIFICATION ��ѡ�
  • ��Ҫ��ζ���һ���ַ���
  • ��Ҫʹ������ ("") ָ�����ַ�����Ϊʹ�û������������ %X0��
  • Ҫָ�����ţ��ɰ�����������һ������ ("" "") �ڣ�����ʹ��һ�������������

�����ַ�������һ���Ƚ�˳�����У�˫�ַ� LL �Ƚ�Ϊһ���� L �� M ֮��ĵ��ַ���

("A"-"L","LL","M"-"Z")


ע��

��ʹ�ö���Ƚ�˳�������ϲ��ļ�������һ������ʱ��Ҫ����ʹ�á��ڴ����������������е�˳������̱Ƚ������ַ�����Ϊ���˳�����ʵ�ʵ�ͼ���ַ��������DZ�ʾ��Щ�ַ��Ĵ��룬��˳����˳���齫ʧЧ��

��������ʾ��ʹ��˵���ļ������û��Զ���ıȽ�˳���й�˵���ļ������飬����� 9.7 ����

  1. ��


    /COLLATING_SEQUENCE=(SEQUENCE=ASCII,IGNORE=("-"," "))
    

    ��� /COLLATING_SEQUENCE �޶��ʼ�ָ���� IGNORE ��ѡ����������ֶ��ڷֽ�֮ǰ�Ƚ�Ϊ��ͬ:


           252-3412
           252 3412
           2523412
    
  2. ��


    /COLLATING_SEQUENCE=(SEQUENCE=("A"-"L","LL","M"-"R","RR","S"-"Z"))
    

    ��� /COLLATING_SEQUENCE �޶��ʶ�����һ��˳���ڴ�˳���£�˫�ַ� LL �Ƚ�Ϊ�� L �� M ֮���һ�����ַ�����˫�ַ� RR �Ƚ�Ϊ�� R �� S ֮���һ�����ַ������⣬��Щ˫�ַ�Ҳ��ͨ������ĸ˳����֡�����Ĭ�ϣ�����û��Զ���˳�򲻶����κ������ַ�����Сд��ĸ a �� z��


ǰҳ ��ҳ Ŀ¼ ����