Sorting 同步排序添加跟踪程序3'';使最后一列的值剪辑关闭
输入文件列在fiesr 2列上进行比较,文件的第3列-B第3列B文件shud给出总计为8 tttttttttts的减法计数Sorting 同步排序添加跟踪程序3'';使最后一列的值剪辑关闭,sorting,syncsort,Sorting,Syncsort,输入文件列在fiesr 2列上进行比较,文件的第3列-B第3列B文件shud给出总计为8 tttttttttts的减法计数 OPTION COPY JOINKEYS FILES=F1,FIELDS=(5,4,A,10,20,A) JOINKEYS FILES=F2,FIELDS=(1,4,A,6,20,A) REFORMA
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(5,4,A,10,20,A)
JOINKEYS FILES=F2,FIELDS=(1,4,A,6,20,A)
REFORMAT FIELDS=(F1:10,20,9,1,5,4,30,1,31,10,F2:27,10)
JOIN UNPAIRED,F1
INREC BUILD=(1,46,27,10,SFF,SUB,37,10,SFF,EDIT=(TTTTTTTT))
OUTFIL REMOVECC,NODETAIL,
SECTIONS=(1,54,
TRAILER3=(1,36,
';',
37,10,
';',
47,7))
输出给出最后一列(减去7位数字的计数,其中应为8个字符
为什么它是55列而不是54列,在节中定义=1,54,并且没有给to加上“;”,对于一个“;”,它在54到55之间加了一列,如果你看到cols。。
对于secont,添加了“;”,它只需删除文件的最后一个字符
----+----1----+----2----+----3----+----4----+----5----+
********************************* Top of Data *********
22222222 ;5060; 1; 1;0000000
您只要求从输入中复制七个字节,因此只复制七个字节,而不是八个字节
我看不出有任何理由让你用排水管来处理这个问题
您正在将节的控制字段定义为整个记录。如果连续记录相同,则它们将显示为一条记录,甚至不会合计。请尝试获取测试数据以向自己显示
当F2不存在时,对F2数据使用SFF是有创意的,但会让事情变得不那么清楚。您的数字是否仍然有符号?此外,当您减去时,您不允许出现负结果。您的任何数字是否可以包含超过八位数字?如果是,如果SUB的结果给出的数字超过八位,您将被截断美国
OPTION COPY
JOINKEYS FILES=F1,FIELDS=(5,4,A,10,20,A)
JOINKEYS FILES=F2,FIELDS=(1,4,A,6,20,A)
REFORMAT FIELDS=(F1:10,20,9,1,5,4,30,1,31,10,F2:27,10)
JOIN UNPAIRED,F1
INREC BUILD=(1,36,
C';',
37,10,
C';',
27,10,SFF,
SUB,
37,10,SFF,
EDIT=(TTTTTTTT))
您可以使用的SFF的替代格式有UFF(自由格式)和FS(固定格式),后者有一个可选的浮动符号。我认为FS最适合您的要求
在编辑模式中,T表示“有效数字”,因此前导零将保留。I表示“不重要数字”,因此前导零将显示为空白
EDIT=(IIIIIIIT)
有标准的模式,还有许多可以在手册中编辑模式的例子。嘿,比尔,我没有使用符号,应该是UFF之类的,问题仍然是这个记录,我得到的是截断的数据,它的8个字符(减去输出中最后一个结果列)但是如果你看到结果是7位,第8位被截断了。你能详细说明为什么用OUTFIL和SECTIONS来做这件事是个坏主意吗?应该用什么正确的方法来避免我被截断?他们不会超过8位,我的答案可能会被再次读一遍。如果你有47,8位,你会得到8个字节。对于SECTIONS,1)我看不出你有什么理由用它来做这件事,2)复制一行测试数据,运行你的程序,看看这是否是你期望的结果3)这会使事情变得更复杂。@agenthone我已经更新了答案,为你的格式提供了建议。嘿,比尔,我得到了想要的结果,多亏了你的想法,C';',我不知道必须与C.一起使用。。所以我用了一个不好的部分choice@AgentMahone一个只能是字符的常量,如HEADERn/TRAILERn,不需要C前缀。在其他地方,如果无法知道常量是字符,则必须指定它。例如,其他常量类型是B和X。你真的应该点击屏幕顶部的About并通读它。你已经问了15个问题,但是如果你不按照建议去做的话,人们很难判断这些答案是否有用。你应该为每一个问题问一个新问题,或者至少先在问题中详细说明你的所有问题。通过主要编辑或评论来扩展进一步的问题会使主题难以理解,因此对未来的搜索者不太有利。如果你只是问并停下来,人们就不会那么热衷于回答你的问题。
EDIT=(IIIIIIIT)