比较两个文件并包括匹配和不匹配记录
Compare two files and include both match and non match records
我需要将两个文件合并为一个。
假设我有 2 个输入文件 FILE1 和 FILE2。我需要将 FILE1 和 FILE2 中的不匹配记录写入 FILE 3 以及我想将匹配记录也写入 FILE3.If 有基于 FILE1 和 FILE2 中的键的匹配然后必须选择要写入的匹配记录来自 FILE1/FILE2 基于某些条件。
两个输入文件中的关键位置相同。
谁能帮我写 SORTCARD,我怎样才能在 SyncSort 或 DFSort 中一步得到这个?
尝试使用连接键
SORT FIELDS=COPY
JOINKEYS FILES=F1,FIELDS=(1,5,A)
JOINKEYS FILES=F2,FIELDS=(1,5,A)
JOIN UNPAIRED,F1,F2
REFORMAT FIELDS=(F1:1,6,F2:1,80)
在重新格式化字段中,您可以根据需要提及字段,即..,如果您希望从 file2 中选择匹配的记录,请在 F2 旁边提及这些字段:
我使用以下分类卡得到了我的解决方案:
JOINKEYS F1=IN1,FIELDS=(1,7,A,13,7,A)
JOINKEYS F2=IN2,FIELDS=(1,7,A,13,7,A)
JOIN UNPAIRED,F1,F2
REFORMAT FIELDS=(F1:1,239,F2:1,239,?)
OPTION COPY
OUTFIL FNAMES=OUT1,INCLUDE=(479,1,SS,EQ,C'1,2'),
IFTHEN=(WHEN=(479,1,CH,EQ,C'1'),
BUILD=(1,239,479,1)),
IFTHEN=(WHEN=NONE,
BUILD=(240,239,479,1))
OUTFIL FNAMES=OUT2,INCLUDE=(479,1,SS,EQ,C'B'),
IFTHEN=(WHEN=(111,1,FS,EQ,NUM,AND,175,1,FS,EQ,NUM),
BUILD=(1,239)),
IFTHEN=(WHEN=(350,1,FS,EQ,NUM,AND,414,1,FS,EQ,NUM),
BUILD=(240,239)),
IFTHEN=(WHEN=NONE,
BUILD=(1,239))
我需要将两个文件合并为一个。 假设我有 2 个输入文件 FILE1 和 FILE2。我需要将 FILE1 和 FILE2 中的不匹配记录写入 FILE 3 以及我想将匹配记录也写入 FILE3.If 有基于 FILE1 和 FILE2 中的键的匹配然后必须选择要写入的匹配记录来自 FILE1/FILE2 基于某些条件。
两个输入文件中的关键位置相同。
谁能帮我写 SORTCARD,我怎样才能在 SyncSort 或 DFSort 中一步得到这个?
尝试使用连接键
SORT FIELDS=COPY
JOINKEYS FILES=F1,FIELDS=(1,5,A)
JOINKEYS FILES=F2,FIELDS=(1,5,A)
JOIN UNPAIRED,F1,F2
REFORMAT FIELDS=(F1:1,6,F2:1,80)
在重新格式化字段中,您可以根据需要提及字段,即..,如果您希望从 file2 中选择匹配的记录,请在 F2 旁边提及这些字段:
我使用以下分类卡得到了我的解决方案:
JOINKEYS F1=IN1,FIELDS=(1,7,A,13,7,A)
JOINKEYS F2=IN2,FIELDS=(1,7,A,13,7,A)
JOIN UNPAIRED,F1,F2
REFORMAT FIELDS=(F1:1,239,F2:1,239,?)
OPTION COPY
OUTFIL FNAMES=OUT1,INCLUDE=(479,1,SS,EQ,C'1,2'),
IFTHEN=(WHEN=(479,1,CH,EQ,C'1'),
BUILD=(1,239,479,1)),
IFTHEN=(WHEN=NONE,
BUILD=(240,239,479,1))
OUTFIL FNAMES=OUT2,INCLUDE=(479,1,SS,EQ,C'B'),
IFTHEN=(WHEN=(111,1,FS,EQ,NUM,AND,175,1,FS,EQ,NUM),
BUILD=(1,239)),
IFTHEN=(WHEN=(350,1,FS,EQ,NUM,AND,414,1,FS,EQ,NUM),
BUILD=(240,239)),
IFTHEN=(WHEN=NONE,
BUILD=(1,239))