विंडोज 10 एफसी कमांड: कोमा ने फ़ाइल तुलना को अलग कर दिया


1

मेरे पास एक तुलना करने और तीसरे डेटा में अंतर डेटा को संग्रहीत करने के लिए प्रत्येक के साथ दो जीबी 3 जीबी है।

निम्नलिखित नमूना डेटा है।

फ़ाइल 1 : June_01_2018.csv

enter image description here

फाइल 2 : June_02_2018.csv

enter image description here

ध्यान दें : मैं कॉलम हेडर के साथ तीसरे फ़ाइल में अंतर को संग्रहीत करना चाहता हूं।

अपेक्षित परिणाम : तीसरी फ़ाइल में से रिकॉर्ड होना चाहिए ID कॉलम हेडर के साथ 11 से 15।

मेरी कोशिश : fc कमांड प्रॉम्प्ट में कमांड,

>fc June_01_2018.csv June_02_2018.csv > June_Diff.csv

लेकिन अप्रत्याशित परिणाम मिल रहा है:

enter image description here


1
सम्बंधित: विंडोज़ में दो सीएसवी फ़ाइलों की तुलना कैसे करें fc एक इंटरैक्टिव कमांड लाइन उपकरण है, यानी यह हमेशा मानव पठनीय आउटपुट का उत्पादन करेगा। इसके अतिरिक्त, यह लाइन द्वारा पाठ फ़ाइलों की तुलना करता है और लाइनों के अर्थ के बारे में नहीं जानता है। आपके मामले में, कॉलम हेडर वाली पहली पंक्ति दोनों फाइलों में समान है, इसलिए यह मुद्रित नहीं है। अगर आप पढ़ते हैं डॉक्स , आप देखेंगे कि आपका आउटपुट अपेक्षित आउटपुट है। मुझे शक है fc इस कार्य के लिए सही उपकरण है।
danzel

जवाबों:


1

आशाओं का (यथार्थवादी) अपेक्षाओं से कोई लेना-देना नहीं है।

हेडर बिल्कुल वैसा ही है, इसलिए कभी भी अंतर नहीं हो सकता है।
इसके अलावा एक्सेल प्रतिनिधित्व है नहीं सीएसवी फ़ाइल, आपको मूल फ़ाइलों को पाठ के रूप में पोस्ट करना चाहिए।

निम्न बैच फ़ाइल हेडर और गूँज में अंतर को पढ़ता है।
एफसी के बजाय यह विकल्पों के साथ मिल का उपयोग करता है

/B compare from line begin
/E compare upto line end
/V output lines **not** present in compared file
/G: get strings from a file

@Echo off
Set "File1=June_01_2018.csv"
Set "File2=June_02_2018.csv"
Set "File3=June_Diff.csv"

Set /P "Header="<"%File1%"
( Echo=%Header%
  Findstr.exe /BEV /G:"%File2%" "%File1%"
)>"%File3%"

एफसी के साथ वेरिएंट

@Echo off
Set "File1=June_01_2018.csv"
Set "File2=June_02_2018.csv"
Set "File3=June_Diff.csv"

Set /P "Header="<"%File1%"
( Echo=%Header%
  fc "%File1%" "%File2%"|more +3 
)>"%File3%"

वह केवल अनुगामी रेखा को छोड़ता है।


एक त्रुटि हो रही है FINDSTR: Search string too long
MAK

आप किस फ़ाइल आकार के साथ काम कर रहे हैं?
LotPings

फ़ाइल 3 जीबी की है।
MAK

ठीक है कि निश्चित रूप से अधिक है सीमा का पता लगाता है आप हेडर दृष्टिकोण का उपयोग कर सकते हैं, एफसी संस्करण को जोड़ सकते हैं और साथ शुरू होने वाली अवांछित लाइनों को हटाकर आउटपुट को ट्विक कर सकते हैं comparing तथा *****
LotPings

मैंने आपके कोड के साथ fc कमांड के साथ कोशिश की। लेकिन त्रुटि RESYNC विफल रही। इसके साथ दूर करने के लिए मैंने अभी जोड़ा / Lb 200000 fc के कारण दो फाइलों के बीच का अंतर लगभग 1 लाख अधिक या कम रिकॉर्ड के साथ आता है। स्क्रिप्ट अभी भी पिछले 15 मिनट से चल रही है।
MAK
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.