unix:如何使用排序实用程序根据列对bcp文件进行排序?

unix:如何使用排序实用程序根据列对bcp文件进行排序?,unix,Unix,您好,我需要根据列字段值对bcp文件进行排序。此处字段分隔符用作\x01和行分隔符 tor用作\x02。所有信息都存储在bcp文件的单行中。 我尝试了下面的查询 排序-t\x01-z\x02-k2n,2n-o排序的数据\uudate“+%m%d%y%H%m%S”.bcp/BNYM/act\u agent\u events\u AgDrCUa5Uiw7kHq5NgGoIBWs\u 133456.bcp 但它不基于第二列进行排序 M 附加bcp文件。 请帮助我如何根据第二列(日期值之后)对文件进行排

您好,我需要根据列字段值对bcp文件进行排序。此处字段分隔符用作\x01和行分隔符 tor用作\x02。所有信息都存储在bcp文件的单行中。 我尝试了下面的查询

排序-t\x01-z\x02-k2n,2n-o排序的数据\uu
date“+%m%d%y%H%m%S”
.bcp/BNYM/act\u agent\u events\u AgDrCUa5Uiw7kHq5NgGoIBWs\u 133456.bcp

但它不基于第二列进行排序 M 附加bcp文件。 请帮助我如何根据第二列(日期值之后)对文件进行排序

bcp文件中的数据
2012-04-16 10:35:16.117BAAAC0000-6GTBL12LFR9UTYB-8A0251CAABY25JFX6XZFRI6NGGOIBWS3004373120010840/LogisticsMgr/DeliveryLogisticsMgr DeliveryCheckStatusLogisticsMgrQWQZESLY7AWICU6JFXHS/Q==wBkxsG+SGmPkV8Cz7LoMvw==Logistics652881288162400NBHYDSOLETIXP9.0002012-04-1610:35:16.120BAAAB0000-6TGTL12LFR9UTYB-8A0251Caadusvslc8NF7I6NGGOIBWS3003762320090/会计管理/计费会计管理计费会计管理DNCVO/2f5LX3BjewCbfCaA==zhdycSzBtfdvoeEC8hPLfA==财务652845508162400NBHYDSOLETIXP9.000012-04-1610:35:16.137AQBRV3DT4YNZFRI6NGGOIBWS000-6GTBL12LFR9UTYB-8A0251CAABRV3DT4YNZFRI6NGGOIBWS3003044870011040/订单管理/OrderManagementOrderManagementOrderCheckStatusOrderManagementPTWWE0WTSWSQZMYEQ4G6RQ==0KtezUvQkOOkSrTAhl455w==OrderMgmt6528378162400OrderMgmt1.writenow.com9.0002012-04-1610:35:16.109AAAOQXS2OW7ZFRI6NGGOIBWS000-6GTBL12LFR9UTYB-8A0251CAAOQXS2OW7ZFRI6NGGOIBWS3003913990010760/StockApp/StockServiceStockAppStockServicesStockServicesStockCheckStockAppV3UUUUJQEA4B+DY3FQ==mnn8+QVDZ+Clj8Fyz7ddsA==WarehouseAmericas652841368162400NBHYDROEXP9.0002012-04-1610:35:16.102AcD0000-6TGTL12LFR9UTYB-8A0251CAAACS2K00EGPZFRI6NGOGOIBWS3003443250010840/LogisticsMgr/DeliveryLogisticsMgr DeliveryCheckStatusLogisticsMgrQWQZESLY7AWICU6JFXHS/Q==wBkxsG+SGmPkV8Cz7LoMvw==Logistics652881288162400NBHYDSOLETIX09.0002012-04-1610:35:16.141QAQSSPLPSQLZFRI6NGGOIBWS000-6TgTbL12lFR9uTYB-8A0251 CAAAQSPLPSQLZFRI6NGGOIBWS300397392001080/订购服务/订购服务或订单检查状态订购服务CVIM6LKSL/QGDRERQENDG==13RQpooyofxx7p5DAZVDQ==customergw652841248172400custgw1.writenow.com9.000012-04-1610:35:16.125AQDO.WX2IKQNF7I6NGGOIBWS000-6GTBL12LFR9UTYB-8A0251CAADO.WX2IKQNF7I6NGGOIBWS300394369010140/AccountMgmt/BillingAccountMgmtBillingChargeAccountMgmtDNCVO/2f5LX3BjewCbfCaA==ZHDYCSZBTVOEEC8HPLFA==Finance652845508162400NBhydsoletiExp9.0000

我没有你的原始文件,但我认为这可能有用

排序-t\x01-z\x02-k 2n

面对这个问题,我会使用sed对其进行按摩,然后通过管道进行分类

此外,如果您可以控制bcp命令的运行方式,那么可以添加-c选项为其换行,这将简化工作


您不能将其作为导出选择查询的一部分进行排序,或者在它进入数据库后进行排序吗?如果您用更简单的术语重新表述您的问题,也可能会有所帮助,即大的
1行数据(?)
,用2-3列的简单数据,而不是整个记录,生成2-3行具有所需字段和行分隔符的数据。当然它对小样本有效,它应该对大数据有效,对吗?祝你好运