سؤال

لدي ملفان يحتويان على قيمة في كل سطر.

يحرر :

عرفت إجابة هذا السؤال وأنا في خضم كتابة التدوينة ولم أدرك أنني نشرتها بالخطأ وهي في حالتها غير المكتملة.

كنت أحاول أن أفعل:

paste -d ',' file1 file2 file 3 file 4 > file5.csv

وكان يحصل على نتيجة غريبة.أدركت لاحقًا أن هذا كان يحدث لأن بعض الملفات كانت تحتوي على حرف إرجاع وحرف السطر الجديد في نهاية السطر بينما كان لدى البعض الآخر حرف السطر الجديد فقط.يجب أن أتذكر دائمًا الاهتمام بهذه الأشياء.­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

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

المحلول

الملف 1:

1
2
3

الملف 2:

2
4
6
paste --delimiters=\; file1 file2

سوف تسفر:

1;2
3;4
5;6

نصائح أخرى

لدي شعور بأنك لم تنته من كتابة سؤالك بعد، ولكنني سأحاول ذلك.;)

file1:  file2:  file3:
1       a       A
2       b       B
3       c       C

~$ paste file{1,2,3} |sed 's/^\|$/"/g; s/\t/","/g'
"1","a","A"
"2","b","B"
"3","c","C"

أو،

~$ paste --delimiter , file{1,2,3}
1,a,A
2,b,B
3,c,C

ربما تحتاج إلى توضيح سؤالك أو إعادة وضع علامة عليه ولكن الإجابة كما هي موجودة أدناه.

الانضمام إلى ملفين تحت Linux

cat filetwo >> fileone

لا تنس أيضًا التنوع على الإطلاق LogParser إذا كنت تستخدم نظام التشغيل Windows.

يمكنه تشغيل استعلامات تشبه SQL مقابل ملفات نصية مسطحة لتنفيذ جميع أنواع عمليات الدمج.

يجب أن تعمل الإجابات السابقة باستخدام logparser أو أدوات سطر الأوامر.إذا كنت تريد إجراء بعض العمليات الأكثر تعقيدًا على السجلات مثل التصفية أو الانضمام، فيمكنك التفكير في استخدام أداة ETL (تتبادر إلى ذهنك Pentaho وMapforce وTalend).تمنحك هذه الأدوات عمومًا لوحة رسومية لتحديد العلاقات بين مصادر البيانات وأي عمليات تريد تنفيذها على الصفوف.

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