यह अपेक्षाकृत मामूली होना चाहिए लेकिन मैं बिना किसी किस्मत के कुछ समय की कोशिश कर रहा हूं। मेरे पास एक निर्देशिका है, जिसमें कई निर्देशिकाएं हैं, जिनमें से प्रत्येक अपनी संरचना और फाइलों के साथ है।फाइलें खोजें, जगह में नाम बदलें यूनिक्स बैश
मैं सभी .java फ़ाइलों को निर्देशिका निर्देशिका के तहत किसी भी निर्देशिका में ढूंढना चाहता हूं, और उन्हें किसी विशेष नाम पर नामित करना चाहता हूं। उदाहरण के लिए, मैं सभी जावा फाइलों का नाम देना चाहूंगा "test.java"।
तो निर्देशिका संरचना है:
./files/abc/src/abc.java
./files/eee/src/foo.java
./files/roo/src/jam.java
मैं बस करने के लिए नाम बदलना चाहते हैं:
./files/abc/src/test.java
./files/eee/src/test.java
./files/roo/src/test.java
बेशक, मेरी समस्या का हिस्सा पथ में रिक्त स्थान हो सकता है मैं डॉन। फ़ाइल के अंदर कक्षाओं या कुछ भी नाम बदलने के बारे में चिंता करने की ज़रूरत नहीं है, बस फाइल का नाम जगह पर है।
यदि निर्देशिका में 1 से अधिक .java फ़ाइल है, तो मुझे कोई फर्क नहीं पड़ता कि यह ओवरराइट किया गया है या यह चुनने के लिए एक संकेत दिया गया है कि क्या करना है (या तो ठीक है, यह संभावना नहीं है कि 1 से अधिक हैं प्रत्येक निर्देशिका
मैं क्या कोशिश की है में:।
mv में देख रहे हैं और पाते हैं, लेकिन जब मैं उन्हें एक साथ पाइप मैं गलत कर रहा हो रहे हैं, मैं उन्हें अपने वर्तमान स्थान में रखने के लिए यह सुनिश्चित करना चाहते हैं और नाम बदलें, और आगे बढ़ें।
धन्यवाद, मैं वास्तव में किसी भी मदद की सराहना करता हूं।
मुझे '$ {1%/*}"/test.java' बिट को कैसे पढ़ा जाना चाहिए? – dumbledad
परिवर्तनीय '$ 1','% 'सबसे छोटा मिलान प्रत्यय'/* 'हटा देता है - यह फ़ाइल नाम को '$ 1'' से' dirname "$ 1" जैसा करता है। '/ test.java' उस निर्देशिका नाम में जोड़ा गया है। –