Delete lines from file A that is in file B

2019-03-01 07:24发布

I have two large files A and B

I need to delete lines that appear in file B from file A and save the result

to file C

I have tried comm -23 file1 file2

but it needs sort to save the result

and i need it the file C without sorting

any suggestion

Edit

Sample of file B

الناقدين, ونصوص الأدباء والرحالة, ومواقف السياسيين؛ ليصوغ منها حملة شرسة على الاستعمار وأربابه. وربما رآها آخرون حملة ناقمة, عمياء, دل عليها كتابان تاليان هما كتاب "تغطية الإسلام" و"ثقافة الإمبريالية", لقد جار عليه خصومه, وذلك ردهم على لذعاته ولوذعيته. كتاب الاستشراق فيه تطبيق لنظريات ميشيل فوكوه, ولا يضره ذلك ففلسفة فوكوه وجدت تطبيقا ميدانيا لها, في مسائل المعرفة وعلاقتها بالسلطة, وإعجاب إدوارد بفوكوه كبير, حتى إنه اهتم بحضور محاضراته, وربما حضر درسه الافتتاحي. وكان كتاب إدوارد سعيد قوة لكتابات فوكوه, وتطبيقا للنظرية تجاوز بالتطبيق والتفريع فكرة "صاحب نظرية المعرفة سلطة" أو"المعرفة تستتبع السلطة" وأسلوبه العالي نفخ الحياة في جفاف التنظير. 
وقد غزاه السرطان وأرهقه, وفي مقدمة هيكل لكتاب إدوارد عن أوسلو ومحادثات السلام, سلاّه هيكل عن السرطان بأن الأمراض تختار أجسادها. كان شجاعا, تميز عن مثقفي الشرق بكشف زيف الغرب واستغلاله للمعرفة, وسيلة للاستعمار, وكان شجاعا بتجاوز عقدة خنوع المثقف وحرصه وتبعيته وتهافته, وخالف نهج مثقفي العرب في المهجر الذين يلوذون بالصمت خوفا من نفوذ اليهود, وحرصا على مواقعهم الوظيفية, انضم لمنظمة التحرير بقناعة. 
قامت الدنيا عليه في جامعة يتنفذ فيها يهود نيويورك, ولم يبال بعرائضهم المطالبة بطرده, يقول: لم أملك إلا أ

Sample of file A

لناقدين, ونصوص الأدباء والرحالة, ومواقف السياسيين؛ ليصوغ منها حملة شرسة على الاستعمار وأربابه. وربما رآها آخرون حملة ناقمة, عمياء, دل عليها كتابان تاليان هما كتاب "تغطية الإسلام" و"ثقافة الإمبريالية", لقد جار عليه خصومه, وذلك ردهم على لذعاته ولوذعيته. كتاب الاستشراق فيه تطبيق لنظريات ميشيل فوكوه, ولا يضره ذلك ففلسفة فوكوه وجدت تطبيقا ميدانيا لها, في مسائل المعرفة وعلاقتها بالسلطة, وإعجاب إدوارد بفوكوه كبير, حتى إنه اهتم بحضور محاضراته, وربما حضر درسه الافتتاحي. وكان كتاب إدوارد سعيد قوة لكتابات فوكوه, وتطبيقا للنظرية تجاوز بالتطبيق والتفريع فكرة "صاحب نظرية المعرفة سلطة" أو"المعرفة تستتبع السلطة" وأسلوبه العالي نفخ الحياة في جفاف التنظير. 
وقد غزاه السرطان وأرهقه, وفي مقدمة هيكل لكتاب إدوارد عن أوسلو ومحادثات السلام, سلاّه هيكل عن السرطان بأن الأمراض تختار أجسادها. كان شجاعا, تميز عن مثقفي الشرق بكشف زيف الغرب واستغلاله للمعرفة, وسيلة للاستعمار, وكان شجاعا بتجاوز عقدة خنوع المثقف وحرصه وتبعيته وتهافته, وخالف نهج مثقفي العرب في المهجر الذين يلوذون بالصمت خوفا من نفوذ اليهود, وحرصا على مواقعهم الوظيفية, انضم لمنظمة التحرير بقناعة. 
قامت الدنيا عليه في جامعة يتنفذ فيها يهود نيويورك, ولم يبال بعرائضهم المطالبة بطرده, يقول: لم أملك إلا أن أقف على الحدود اللبنانية وأرمي المحتلين بحجر, والتقطت الصورة له وهو يرجمهم. 
وبدأت حملة جديدة طالب فيها أساتذة جامعته بطرده. ومن قبل ذلك لاحقه خصومه اليهود ينكرون كونه فلسطينيا مولودا في القدس, وذهب وفد يستقصي تاريخه, ونشرت مجلة "كومنتري" الأدبية اليهودية ملفا بذلك, فزادت هذه المطاردة من ذيوع قضيته. وخالف عرفات وصلحه بشجاعة, وخالف آراء كثير من مثقفي العرب في الموقف من مذابح هتلر لليهود, فهو يصدق حدوثها, ويستنكر قول المنكرين, ويتعاطف مع ضحاياها, وله في المسألة الفلسطينية رأي جريء حيث يطالب بدولة ديموقراطية واحدة في فلسطين للجميع, تحكمها الأغلبية وترعى حق الأقلية, ويخالف من يقول بدولتين. 
موقفه من قضايا المسلمين موقف منصف غالبا, وتغيظ مواقفه التيار الوصولي في الثقافة العربية المعاصرة؛ لأنه كان شديد القسوة على من يسميه بالمثقف الخائن, ويكثر من تكرار استخدام أحد الكتب الفرنسية المثيرة التي كتبت مطولا عن خيانة المثقفين وتبعيتهم. وهنا نلاحظ ذلك الجانب المكروه للوصوليين, وسوطه المرفوع الذي يجلد به ظهورهم, لم يكن يملك ما يخاف عليه, ولم يزده مرضه إلا تخففا وشجاعة, وقد سأله أحد المعلقين عن سر مضاعفة جهده, فأكد خطر معاناته لسرطان الدم, والمصاب بالسرطا ن لا وقت لديه, كان إذا حل على برنامج "تشارلي روز" تهاتفنا بالخبر؛ لأننا سنقضي ساعة من المتعة والفكرة, وبراعة المواجهة, فشجعان العقول قليل.. وهو من القلة التي تستطيع أن تكشف حدود الحرية الفكرية في أمريكا, وما أصعب أن ترى حدود الحرية. 
خسر المسلمون والعرب مدافعا فصيحا عن قضاياهم, ومهتما بارزا بقضية فلسطين. لقد كان رجلا واحدا، ولكنه كان جهازا إعلاميا ثقافيا مؤثرا, أكثر مما أثرت الدول العربية في التوعية بالمسألة الفلسطينية في الغرب, وكان مطلعا ومتابعا للأحداث ومعلقا فطنا, ومتحدثا آسرا, يفوق أسلوب حديثه أسلوب كتابته. كتبه القديمة والحديثة دائما معروضة في طبعات جديدة, لا ينتهي حولها الجدل, كان صيادا وعارضا للفكرة، مجيدا ومبدعا في اعتراضه ومؤثرا. عمقه في أدب الإنجليزية لا يبارى, وأجاد الفرنسية, ثم عاد لبيروت وتمكن من العربية. 
ولكم وددت أن يجد القارئ العربي كتاب "الاستشراق" بترجمة عربية جيدة, فإن مترجمه أعجمه, وأضر كمال أبو ديب بكتاباته, ولو قارنت هذه الترجمات مع ترجمات كتب أخرى مثل كتاب "صور المثقف" أو كتاب المقابلة الطويلة معه التي أجراها بارسيمان؛ لرأيت فرق الطريقتين. لقد كان لسان العرب الحر, محاضرا ومحاورا, أما بعد حسم معركته مع لويس فقد قل من فكّر في مواجهته. 
ودّع الناس مفكرا ومناضلا ثقافيا لا بديل له, ولا مقارب, وبقيت آثاره مدرسة في النزاهة ومكافحة الظلم, كان يعتقد الشكّ ـ كما وصف نفسه-.. ولو كان مسلما لترحمنا عليه..! 

标签: shell unix
2条回答
等我变得足够好
2楼-- · 2019-03-01 07:53

As you mentioned, since comm needs sorted file to fetch the diff you can do in-line sorting before using comm like this :

comm -23 <(sort file1) <(sort file2) > fileC
查看更多
混吃等死
3楼-- · 2019-03-01 07:55

You can use the following:

grep -vxFf fileB fileA > fileC

Sample:

$ seq 5 > a   # 1 to 5  in file a
$ seq 10 > b  # 1 to 10 in file b
$ grep -vxFf a b > c
$ cat c
6
7
8
9

From man grep

-F, --fixed-strings

Interpret PATTERN as a list of fixed strings, separated by newlines, any of which is to be matched. (-F is specified by POSIX.)

-f FILE, --file=FILE

Obtain patterns from FILE, one per line. The empty file contains zero patterns, and therefore matches nothing. (-f is specified by POSIX.)

-v, --invert-match

Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX.)

-x, --line-regexp

Select only those matches that exactly match the whole line. (-x is specified by POSIX.)

查看更多
登录 后发表回答