2011-08-19 12 views
23

मेरे पास 2 बड़ी फ़ाइलें हैं और मैं प्रत्येक फाइल की शीर्ष पंक्तियों के बीच एक अंतर बनाना चाहता हूं, लेकिन मैं मध्यवर्ती फ़ाइलों का उपयोग नहीं करना चाहता हूं। मैं ऐसा कुछ करना चाहूंगा:इंटरमीडिएट फ़ाइल के बिना दो फाइलों की शीर्ष पंक्तियों को कैसे भिन्न किया जाए

diff `head -n 2000 file1.log` `head -n 2000 file2.log` 

मुझे याद है कि मैंने ऐसा कुछ समय पहले किया है, यानी। एक फ़ाइल के रूप में व्याख्या की गई head -n 2000 file1.log जैसे कमांड बनाएं। लेकिन मुझे याद नहीं है कि कैसे। शायद यह एक और खोल था ...
धन्यवाद।

उत्तर

45

आप शायद process substitution को बैश में सोच रहे हैं। उदाहरण के लिए, कोशिश करें:

diff <(head -n 2000 file1.log) <(head -n 2000 file2.log) 
+0

धन्यवाद, यह वही है जो मैं चाहता था। – Tom97531

+0

मुझे इस 'diff <(head -n 1 file1.logt) <(head -n 1 file2.log) चलाने पर वाक्यविन्यास त्रुटि मिल रही है। ** - sh: अप्रत्याशित टोकन के पास वाक्यविन्यास त्रुटि '(' ** – AbhiNickz

+0

@AhhiNickz आप किस शैल का उपयोग कर रहे हैं? –

संबंधित मुद्दे