سؤال

أنا أعمل على أداة AA لتوليد ملفات TSV للاستيراد في قاعدة بيانات باستخدام bcp.exe وأرغب في التحقق من صحة الإخراج الخاص بي. يمكنني القيام بذلك عن طريق مقارنة الملف الذي قمت بإنشاء الملفات التي تنتج عنها التصدير باستخدام BCP من قاعدة بيانات موجودة. مشكلتي هي أن الطلب يمكن أن يكون في بعض الأحيان مختلفة بين الملفات. أرغب في أن أخبرني الأداة فقط إذا كانت هناك خطوط لا تحتوي على تطابق دقيق في زوج من الملفات، دون تورطادا عن ترتيب الخطوط.

هل كانت مفيدة؟

المحلول

"بدون شامل" ما إذا كانت "غير متجانسة" هي كلمة...

الطريقة الموثوقة للقيام بهذه المقارنة هي فرز الملفين في نفس الترتيب، ثم قم بمقارنة الملفات. نظرا لأنك تذكر "bcp.exe"، فإن ذلك يبدو أكثر مثل Windows وربما MS SQL Server من UNIX و Sybase.

ربما كنت أستخدم cygwin وإما diff أو comm للمقارنة (و sort لطلب) الملفات، أو أي مجموعة أدوات UNIX Worksalike UNIX (MKS، ...). قد يوصي أشخاص آخرون بأدوات أخرى. يعتمد ذلك، جزئيا، على عدد الاختلافات التي تعتقد أنها من المحتمل أن تجدها بشكل طبيعي، وكيف ستتعامل معها بعد العثور عليها. هو إخراج واجهة المستخدم الرسومية ضروري؟ أيضا، تواجه مشكلة تتبع الاختلافات مرة أخرى إلى أرقام خط معين في ملفات البيانات غير المسبدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top