= 行分離
SPLit {CONT | OVER | ALL | EXP | TAIL} [SBCS] [TOL]
[STRDELM|STRSPACE] [OOM] [SPACE1]
[width] [CRLF] ["str"] [.lab1 .lab2]
-CONT:/Mnnで表示行長指定された場合で行分割された長文が対象。
-OVER:CONTに加えて、行長>widthの行を対象とする。
"str"(分離文字)を指定するとwidthをより長い行が
widthに最も近い分離文字のところで行が分割されます
-ALL :全行が対象。省略値。
指定の分離文字で識別したワードが最大widthに入る様に分離。
OVERとは異なり短い行はwidthになるまで詰め込んで連結されます。
widthの指定が無い場合はファイルを開く時に/Mパラメータで
指定された表示長を使用。
分離文字指定の無い場合は単純に指定幅で分離。
テキストファイルの場合widthがDBCSを分断する場合はSBCSの
指定が無い場合後の行に入れられます。
widthがDBCSを分断する場合はSBCSの指定が無い場合後ろの行に
入れられます。
width指定も/Mパラメータの指定も無いときは結果の行長は
無視して単純にすべての分離文字或いは分離文字列で分離します。
-EXP :行末にwidthまで指定の文字(省略値=" ")を追加
-TAIL:行末から指定の文字列の文字(省略値=" ")を全て削除。
width指定があるときは指定の文字列も文字がなくてもその幅までは削除。
分離文字列で複数文字を指定した時その中の全ての文字を行末から削除
-SBCS:width境界でのDBCS考慮をしない。
バイナリーファイルはSBCS扱い
-TOL :分離文字を先頭にして行分割。
-STRDELM:str パラメータを一連の文字列とみて行分割。
-STRSPACE:連続するスペースでは1度しか行分割しない。
"str"を指定しない,あるいは"str"に
スペースを含まない場合でもSTRDELMを指定すると
"str"がスペースを含むものとして処理する。
-SPACE1 :ALL/OVERのとき連続スペースを1文字スペースに縮める。
-OOM :TAILオプションのとBounds/マージン設定を無視。
-width:CONT以外で新しい行長を指定。
前の行に補充されるデータのタブは現在のタブ拡張のまま
スペースに置換されます。
バイナリーファイルの表示幅を変えるには
例えば "SPL 100" でよいです。これは表示モードでもOK。
-CRLF :widthと改行コードで行分割します。
分離タイプは "ALL" とみなします。
分割行に改行コードは挿入しません、
テキストファイルの表示幅を設定するのに使用します。
-str :分離文字。引用符で囲むこと。
EXTのときは1文字指定はパディング文字、ASCII文字に限ります。
2文字指定は文末文字+パディング文字、
3文字指定は文末文字+パディング文字+行末文字となる。
\x0d のようにHex指定も出来ます。
\x8140 のように複数文字指定できますがDBCSとは解釈しません
この場合SBCS 2文字指定とみなされます
-.lab1/2:行番号欄のラベルを指定して範囲指定する。
(例-01). ALL(省略値) の例。
===>spl 20
col |....+....1....+....2....+....3....+....4
*******|********** TOP OF FILE *****************
0001000|aaaaaaaaaaaaaaaaaa AAAAAAAAAAAAAAAAAAAAA
0002000|bbbbbbbbbbbbbbbbbbb BBBBBBBBBBBBBBBBBBBA
0003000|cccccccccccccccccccc CCCCCCCCCCCCCCCCCCA
0004000|dddddddddddddddddddddDDDDDDDDDDDDDDDDDDA
0005000|eeeeeeeeeeeeeeeeeeeeee EEEEEEEEEEEEEEEEA
0006000| FF
==>分離文字指定のない場合単純に詰め込む。
TFLowと異なり行末のためのスペース挿入もない
col |....+....1....+....2
*******|********** TOP OF FI
0001000*aaaaaaaaaaaaaaaaaa A
0001100*AAAAAAAAAAAAAAAAAAAA
0002000*bbbbbbbbbbbbbbbbbbb
0002100*BBBBBBBBBBBBBBBBBBBA
0003000*cccccccccccccccccccc
0003100* CCCCCCCCCCCCCCCCCCA
0004000*dddddddddddddddddddd
0004100*dDDDDDDDDDDDDDDDDDDA
0005000*eeeeeeeeeeeeeeeeeeee
0005100*ee EEEEEEEEEEEEEEEEA
0006000| FF
(例-02). OVER の例。
===>spl over 50
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10
*******|********** TOP OF FILE *****************************************************************************
0001000*time event-type action-before ,time event-type action-after
0002000*10:11:12.555 aaaa01 bbbbbbbbbb ,10:11:12.555 AAAA02 BBBBBBBBBB
0003000*10:11:12.555 aaaa03 bbbbbbbbbb ,10:11:12.555 AAAA04 BBBBBBBBBB
0004000*10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC,
0005000*10:11:12.555 aaaa07 bbbbbbbbbb ,10:11:12.555 AAAA08 BBBBBBBBBB
==>指定の長さ以上の行を行分割
col |....+....1....+....2....+....3....+....4....+....5
*******|********** TOP OF FILE ***************************
0001000*time event-type action-before ,
0001100*time event-type action-after
0002000*10:11:12.555 aaaa01 bbbbbbbbbb ,
0002100*10:11:12.555 AAAA02 BBBBBBBBBB
0003000*10:11:12.555 aaaa03 bbbbbbbbbb ,
0003100*10:11:12.555 AAAA04 BBBBBBBBBB
0004000*10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC,
0005000*10:11:12.555 aaaa07 bbbbbbbbbb ,
0006000*10:11:12.555 AAAA08 BBBBBBBBBB
(例-03). CONT の例。
===>e x2sv m50 (表示幅を指定してファイルを開いたとき)
===>spl cont
col |....+....1....+....2....+....3....+....4....+....5....+....6
*******|********** TOP OF FILE ****************************
0001000-time event-type action-before ,
0001001.time event-type action-after
0002000-10:11:12.555 aaaa01 bbbbbbbbbb ,
0002001.10:11:12.555 AAAA02 BBBBBBBBBB
0003000-10:11:12.555 aaaa03 bbbbbbbbbb ,
0003001.10:11:12.555 AAAA04 BBBBBBBBBB
0004000|10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC,
0005000-10:11:12.555 aaaa07 bbbbbbbbbb ,
0005001.10:11:12.555 AAAA08 BBBBBBBBBB
==>行番号欄とテキスト欄の間の表示が連結行分離を示している。
col |....+....1....+....2....+....3....+....4....+....5....+....6
*******|********** TOP OF FILE ***************************
0001000*time event-type action-before ,
0001001*time event-type action-after
0002000*10:11:12.555 aaaa01 bbbbbbbbbb ,
0002001*10:11:12.555 AAAA02 BBBBBBBBBB
0003000*10:11:12.555 aaaa03 bbbbbbbbbb ,
0003001*10:11:12.555 AAAA04 BBBBBBBBBB
0004000|10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC,
0005000*10:11:12.555 aaaa07 bbbbbbbbbb ,
0005001*10:11:12.555 AAAA08 BBBBBBBBBB
(例-04). TAIL の例。
===>spl 49 tail
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....
*******|********** TOP OF FILE ***********************************************************************
0001000|time event-type action-before ,time event-type action-after
0002000|10:11:12.555 aaaa01 bbbbbbbbbb ,10:11:12.555 AAAA02 BBBBBBBBBB
0003000|10:11:12.555 aaaa03 bbbbbbbbbb ,10:11:12.555 AAAA04 BBBBBBBBBB
0004000|10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC,
0005000|10:11:12.555 aaaa07 bbbbbbbbbb ,10:11:12.555 AAAA08 BBBBBBBBBB
==>指定幅以降をカット
col |....+....1....+....2....+....3....+....4....+....
*******|********** TOP OF FILE **************************
0001000*time event-type action-before
0002000*10:11:12.555 aaaa01 bbbbbbbbbb
0003000*10:11:12.555 aaaa03 bbbbbbbbbb
0004000*10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC
0005000*10:11:12.555 aaaa07 bbbbbbbbbb
(例-05). TAIL の例。マージン付ファイル
===>spl 62 tail
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
*******|********** TOP OF FILE *********************************************************
0001000|*//*CID:**+A003R~:#63 option=(m72,n,p0,tabclear) update#= 14; 00010019
0001010|.* C R1,CLMSTART CSECT START ADDR **~A003R~ 00011020
0001020| LR R14,R1 CHK ADDR **+A003R~ 00012021
0001030| SLL R14,1 CHK ADDR 00013017
0001040| SRL R14,1 CHK ADDR 00014017
0001050| C R14,CLMSTART CSECT START ADDR 00015017
0001060| BNH UAB&SYSNDX.E LOWER ADDR(OUT OF RANGE) 00016017
0001070|* C R1,CLMEND CSECT END ADDR + 1 00017017
0001080| C R14,CLMEND CSECT END ADDR + 1 00018017
==>マージンは残ります。
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
*******|********** TOP OF FILE *********************************************************
0001000**//*CID:**+A003R~:#63 option=(m72,n,p0,tabclear) update#= 14 00010019
0001010*.* C R1,CLMSTART CSECT START ADDR 00011020
0001020* LR R14,R1 CHK ADDR 00012021
0001030| SLL R14,1 CHK ADDR 00013017
0001040| SRL R14,1 CHK ADDR 00014017
0001050| C R14,CLMSTART CSECT START ADDR 00015017
0001060| BNH UAB&SYSNDX.E LOWER ADDR(OUT OF RANGE) 00016017
0001070|* C R1,CLMEND CSECT END ADDR + 1 00017017
0001080| C R14,CLMEND CSECT END ADDR + 1 00018017
(例-06). TAIL の例。マージン付ファイル。OOMオプションの効果
===>spl tail 80 oom
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10....+...11
*******|********** TOP OF FILE ***************************************************************************************
0001000|*//*CID:**+A003R~:#63 option=(m72,n,p0,tabclear) update#= 15**~A003R~ 00010022
0002000|.* C R1,CLMSTART CSECT START ADDR **~A003R~ 00011022
0003000| LR R14,R1 CHK ADDR **+A003R~ 00012023 SLL R14,1 CHK ADDR 00013017
0004000| SRL R14,1 CHK ADDR 00014017
0005000| C R14,CLMSTART CSECT START ADDR 00015017
0006000| BNH UAB&SYSNDX.E LOWER ADDR(OUT OF RANGE) 00016017
0007000|* C R1,CLMEND CSECT END ADDR + 1 00017017
0008000| C R14,CLMEND CSECT END ADDR + 1 00018017
==>OOMオプションはマージン設定を無視します。
*******|********** TOP OF FILE *********************************************************
0001000|*//*CID:**+A003R~:#63 option=(m72,n,p0,tabclear) update#= 15**~A003R~ 00010022
0002000|.* C R1,CLMSTART CSECT START ADDR **~A003R~ 00011022
0003000* LR R14,R1 CHK ADDR **+A003R~ 00012023
0004000| SRL R14,1 CHK ADDR 00014017
0005000| C R14,CLMSTART CSECT START ADDR 00015017
0006000| BNH UAB&SYSNDX.E LOWER ADDR(OUT OF RANGE) 00016017
0007000|* C R1,CLMEND CSECT END ADDR + 1 00017017
0008000| C R14,CLMEND CSECT END ADDR + 1 00018017
(例-07). EXP の例。
===>spl exp 60 ";"
col |....+....1....+....2....+....3....+....4....+....
*******|********** TOP OF FILE **************************
0001000|time event-type action-before
0002000|10:11:12.555 aaaa01 bbbbbbbbbb
0003000|10:11:12.555 aaaa03 bbbbbbbbbb
0004000|10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC
0005000|10:11:12.555 aaaa07 bbbbbbbbbb
==>指定まで伸展。行末を明示するためにパディング文字を指定したが省略値はスペース。
col |....+....1....+....2....+....3....+....4....+....5....+....6
*******|********** TOP OF FILE *************************************
0001000*time event-type action-before ;;;;;;;;;;;
0002000*10:11:12.555 aaaa01 bbbbbbbbbb ;;;;;;;;;;;
0003000*10:11:12.555 aaaa03 bbbbbbbbbb ;;;;;;;;;;;
0004000*10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC;;;;;;;;;;;
0005000*10:11:12.555 aaaa07 bbbbbbbbbb ;;;;;;;;;;;
==>パディング文字を2桁指定すると( (spl tail で 行末スペースを削除後) spl exp 60 ";+")
col |....+....1....+....2....+....3....+....4....+....5....+....6
*******|********** TOP OF FILE *************************************
0001000*time event-type action-before;++++++++++++++
0002000*10:11:12.555 aaaa01 bbbbbbbbbb;+++++++++++++++++
0003000*10:11:12.555 aaaa03 bbbbbbbbbb;+++++++++++++++++
0004000*10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC;++++++++++
0005000*10:11:12.555 aaaa07 bbbbbbbbbb;+++++++++++++++++
==>パディング文字を3桁指定すると(spl exp 60 ";-*")
col |....+....1....+....2....+....3....+....4....+....5....+....6
*******|********** TOP OF FILE *************************************
0001000*time event-type action-before;-------------*
0002000*10:11:12.555 aaaa01 bbbbbbbbbb;----------------*
0003000*10:11:12.555 aaaa03 bbbbbbbbbb;----------------*
0004000*10:11:12.555 aaaa05 CCCCCCCCCCCCCCCCC;---------*
0005000*10:11:12.555 aaaa07 bbbbbbbbbb;----------------*
(例-08). SPACE1の効果。
===>spl space1
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....
*******|********** TOP OF FILE *************************************************************
0001000| kay1=11111111; key2===222222222 : key3=:333333333 key4=; key5
0002000| key6;=cccccc := key7 : key8
==>連続スペースを1スペースに縮める。
col |....+....1....+....2....+....3....+....4....+....5....+....6..
*******|********** TOP OF FILE ***************************************
0001000* kay1=11111111; key2===222222222 : key3=:333333333 key4=; key5
0002000* key6;=cccccc := key7 : key8
(例-09). "str" と関連オプションの意味。
===>spl "=;"
col |....+....1....+....2....+....3....+....4....+....5....+....6....+
*******|********** TOP OF FILE ******************************************
0001000| kay1=11111111; key2===222222222 : key3=:333333333 key4=; key5
0002000| key6;=cccccc := key7 : key8
==>全ての分離文字の直後で行を分割
col |....+....1....+....2....+
*******|********** TOP OF FILE **
0001000* kay1=
0001100*11111111;
0001200* key2=
0001300*=
0001400*=
0001500*222222222 : key3=
0001600*:333333333 key4=
0001700*;
0001800* key5
0002000* key6;
0003000*=
0004000*cccccc :=
0005000* key7 : key8
==>幅を指定した場合は右境界の直前の分離文字で分離。
===>spl "=;" 40
col |....+....1....+....2....+....3....+....4....+....5....+....6....+
*******|********** TOP OF FILE ******************************************
0001000| kay1=11111111; key2===222222222 : key3=:333333333 key4=; key5
0002000| key6;=cccccc := key7 : key8
===>
col |....+....1....+....2....+....3....+....4
*******|********** TOP OF FILE *****************
0001000* kay1=11111111; key2===222222222 : key3=
0001100*:333333333 key4=; key5 key6;=cccccc :=
0002000* key7 : key8
==>STRDELMの効果(spl "=;" strdelm)
col |....+....1....+....2....+....3....+....4....+....5....+..
*******|********** TOP OF FILE **********************************
0001000* kay1=11111111; key2===222222222 : key3=:333333333 key4=;
0001100* key5
0002000| key6;=cccccc := key7 : key8
==>TOLの効果(spl "=;" strdelm tol)
col |....+....1....+....2....+....3....+....4....+....5....+
*******|********** TOP OF FILE ********************************
0001000* kay1=11111111; key2===222222222 : key3=:333333333 key4
0001100*=; key5
0002000| key6;=cccccc := key7 : key8
==>STRSPACEの効果(spl strspace)
===>spl all " "
col |....+....1....+....2....+....3....+....4....+....5....+....6....
*******|********** TOP OF FILE *****************************************
0001000| kay1=11111111; key2===222222222 : key3=:333333333 key4=; key5
0002000| key6;=cccccc := key7 : key8
==>(全てのスペースで分離される)
col |....+....1....+..
*******|********** TOP OF
0001000*
0001100*kay1=11111111;
0001200*key2===222222222
0001300*:
0001400*key3=:333333333
0001500*key4=;
0001600*
0001700*
0001800*key5
0002000*
0003000*key6;=cccccc
0004000*:=
0005000*key7
0006000*:
0007000*
0008000*
0009000*key8
===>spl strspace
col |....+....1....+....2....+....3....+....4....+....5....+....6....
*******|********** TOP OF FILE *****************************************
0001000| kay1=11111111; key2===222222222 : key3=:333333333 key4=; key5
0002000| key6;=cccccc := key7 : key8
==>(連続するスペースは全体で1回分離)
col |....+....1....+...
*******|********** TOP OF
0001000*
0001100*kay1=11111111;
0001200*key2===222222222
0001300*:
0001400*key3=:333333333
0001500*key4=;
0001600*key5
0002000*
0003000*key6;=cccccc
0004000*:=
0005000*key7
0006000*:
0007000*key8 7