- 命令選項
命令行
$ mfsort instructions
$ mfsort take instructionsfile
SORT: sort a single input file (single input)
MERGE: merge multiple pre-sorted input files (2 or more input)
OPTION COPY: copy records as-is (1 or more input)
命令格式:
1.1 SORT
SORT FIELDS (<start>,<length>,<type>,<A|D>,...)
For example:
命令 | 解釋 |
---|---|
SORT FIELDS=(1,2,NU,D) | sort field start from 1, and length is 2 |
SORT FIELDS=(1,2,NU,D,5,2,CH,A) | sort 2 fields |
數(shù)據(jù)類型可以:
命令 | 解釋 |
---|---|
CH | PIC X USAGE DISPLAY |
NU | PIC 9 USAGE DISPLAY |
PD | PIC S9 COMP-3 |
BI | USAGE COMP |
1.2 USE
USE指定輸入文件:
USE <filename>
ORG <LS|SQ|RL|IX>
RECORD <F|V|FCxxx|FVxxx>,min,max
[KEY (<start>,<length>,<P|A|AD|C>,...)]
1.3 GIVE
GIVE指定輸出文件:
GIVE (same with parameters as for USE)
1.4 INCLUDE/OMIT
從輸入文件中包括/排除指定的數(shù)據(jù):
INCLUDE|OMIT COND=({start-pos,length,data-type,comparison-expression}...)
For example:
命令 | 解釋 |
---|---|
INCLUDE COND=(1,2,CH,EQ,C'11') | start with '11' |
INCLUDE COND=(1,2,CH,EQ,C'11',OR,1,2,CH,EQ,C’22’) | OR 條件 |
比較操作符包括:
命令 | 解釋 |
---|---|
EQ | Equal to |
NE | Not Equal to |
GT | Greater Than |
GE | Greater Than or Equal |
LT | Less Than |
LE | Less Than or Equal |
1.5 INREC:格式化輸入 (在SORT執(zhí)行之前)
INREC FIELDS=(field-specifier...)
INREC FIELDS=(3,6)
1.6 OUTREC: 格式化輸出 (在SORT執(zhí)行之后)
OUTREC FIELDS=(field-specifier...)
命令 | 解釋 |
---|---|
OUTREC FIELDS=(start1,length1,start2,length2,...) | N/A |
OUTREC=(start,length,pos:start2,length2,...) | from position 3 insert bytes 1–2 |
- 生成dataset
從文本文件生成需要的dataset
DATAFILE=DATA.TEST
cat >${DATAFILE} <<EOF
a
ab
abcd
EOF
export DD_SYSOUT=/dev/null
mfsort option copy \
use ${DATAFILE} org LS record V,1,16 \
give ${DATAFILE}.SQ.F org SQ record F,16
mfsort option copy \
use ${DATAFILE} org LS record V,1,16 \
give ${DATAFILE}.SQ.V org SQ record V,1,16
- 查看dataset的內(nèi)容
mfsort option copy \
use DATASET.NAME org SQ record V,1,16
輸出到屏幕
- 排序
mfsort \
use ${DATAFILE} org LS record V,1,16 \
give ${DATAFILE}.sort org LS record V,1,16 \
SORT FIELDS=\(1,1,A\),FORMAT=CH