1

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

排序 -t \x01 -z\x02 -k2n,2n -o sorted_data_ date "+%m%d%y%H%M%S".bcp /BNYM/act_agent_events_AgDrCUa5Uiw7kHq5NgGoIBWs_133456.bcp

但它没有根据第二列 m 排序,附加 bcp 文件。请帮助我了解如何根据第二列(在日期值之后)对文件进行排序

bcp 文件中的数据

2012-04-16 10:35:16.117BAAAAC0000-6TgTbL12lFR9uTYB-8A0251CAAABY25JFX6XZfri6NgGoIBWs30004373120010840/LogisticsMgr/DeliveryLogisticsMgrDeliveryCheckStatusLogisticsMgrqwQzeSlY7aWIcu6jFxHS/Q==wBkxsG+SGmPkV8Cz7LoMvw==logistics652841288162400nbhydsoletixp9.00002012-04-16 10:35:16.120BAAAAB0000-6TgTbL12lFR9uTYB-8A0251CAAADUsVwslC8nf7i6NgGoIBWs30003762320010090/AccountMgmt/BillingAccountMgmtBillingChargeAccountAccountMgmtdNCvO/ 2f5LX3BjewCbfCaA==zhdycSzBtfdvoeEC8hPLfA==finance652845508162400nbhydsoletixp9.00002012-04-16 10:35:16.137AQBRv3dT4YnZfri6NgGoIBWs0000-6TgTbL12lFR9uTYB-8A0251CAAABRv3dT4YnZfri6NgGoIBWs30003044870011040/OrderManagement/OrderingOrderManagementOrderingCheckStatusOrderManagementPTWWE0wTSwsQZMYEQ4g6RQ==0KtezUvQkOOkSrTAhl455w==ordermgmt652841378162400ordermgmt1.writenow.com9.00002012-04-16 10:35:16.109AAAoQXS2OW7Zfri6NgGoIBWs0000-6TgTbL12lFR9uTYB-8A0251CAAAAoQXS2OW7Zfri6NgGoIBWs30003913990010760/StockApp/StockServiceStockAppStockServiceStockCheckStockAppV3UuJQeiUa4b+DydaHy3FQ==mnn8+QVDZ+Clj8Fyz7ddsA==warehouseamericas652841368162400nbhydsoletixp9.00002012-04-16 10:35:16.102AcD0000-6TgTbL12lFR9uTYB-8A0251CAAACs2k00egPZfri6NgGoIBWs30003443250010840/LogisticsMgr/DeliveryLogisticsMgrDeliveryCheckStatusLogisticsMgrqwQzeSlY7aWIcu6jFxHS/Q==wBkxsG+SGmPkV8Cz7LoMvw== logistics652841288162400nbhydsoletixp9.00002012-04-16 10:35:16.141QAqSPLPSqLZfri6NgGoIBWs0000-6TgTbL12lFR9uTYB-8A0251CAAAAqSPLPSqLZfri6NgGoIBWs30003973920011080/OrderingServices/OrderingOrderingServicesOrderingCheckStatusOrderingServicesCVim6lKsl/QGDrErqenNdg==13RQpOOyOFvxX7p5dAzVdQ==customergw652841248172400custgw1.writenow.com9.00002012-04-16 10:35:16.125AQDO.WX2ikQnf7i6NgGoIBWs0000-6TgTbL12lFR9uTYB-8A0251CAAADO.WX2ikQnf7i6NgGoIBWs30003943690010140/AccountMgmt/BillingAccountMgmtBillingChargeAccountAccountMgmtdNCvO/2f5LX3BjewCbfCaA==zhdycSzBtfdvoeEC8hPLfA==finance652845508162400nbhydsoletixp9.0000

4

1 回答 1

0

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

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

面对这个问题,我会使用 sed 对其进行按摩,然后对其进行排序。

此外,如果您对 bcp 命令的运行方式有任何控制权,则可以添加 -c 选项为其添加换行符,这应该可以简化操作。

http://msdn.microsoft.com/en-us/library/ms162802.aspx

于 2012-04-16T17:31:30.047 回答