1

こんにちは、列フィールドの値に基づいて bcp ファイルを並べ替える必要があります。ここでは、フィールド区切り記号は \x01 として使用され、行区切り記号は \x02 として使用されます。すべての情報は bcp ファイルの 1 行に格納されます。以下のクエリで試しました

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

ただし、2 番目の列に基づいて並べ替えられません m bcp ファイルを添付します。2番目の列(日付値の後)に基づいてファイルをソートする方法を教えてください

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 に答える