दो अलग-अलग फ़ोल्डरों से समान नाम वाली फ़ाइलों को कैसे अलग किया जाए?

I see this, but it does NOT quite give me what I need. Diff files present in two different directories

मैं सभी pom.xml फ़ाइलों को अलग करना चाहता हूं, लेकिन बहु-मॉड्यूल स्ट्रंचचर में दो अलग-अलग निर्देशिका पेड़ों से। तो मेरे पास है

dir1/pom.xml
dir1/module1/pom.xml
dir1/module1/Project1/pom.xml
dir1/module2/pom.xml
आदि...

dir2/pom.xml
dir2/module1/pom.xml
dir2/module1/Project1/pom.xml
dir2/module2/pom.xml
आदि...

मैं सभी pom.xml फ़ाइलों को अलग करना चाहता हूं, और केवल pom.xml फ़ाइलों, dir1 और dir2 के बीच। मैं वर्तमान में एसवीएन का उपयोग कर रहा हूं, इसलिए या तो एक sed या svn-specific कमांड सहायक हो सकता है। धन्यवाद!

0

2 उत्तर

मान लें कि एक ही फ़ाइल नाम दोनों निर्देशिकाओं में मौजूद हैं:

find dir1 -name pom.xml |
while IFS= read -r file1
do
    file2="${file1//dir1/dir2}"
    diff "$file1" "$file2"
done

यदि नहीं, तो बस मौजूदा फ़ाइल के लिए एक परीक्षण जोड़ें और दूसरा लूप दूसरी दिशा में जा रहा है।

0
जोड़ा

यदि फ़ोल्डर संरचना समान है, तो हो सकता है कि आप चल रहे हों:

cd dir1
find . -name pom.xml -exec diff {} ../dir2/{} \;

मैं अभी इसका परीक्षण नहीं कर सकता ...

0
जोड़ा