शुरुआत में एक स्ट्रिंग जोड़कर कई फ़ाइलों का नाम बदलना


21

एक निर्देशिका में लगभग 200 फाइलों के लिए मैं स्ट्रिंग 1_को सभी फ़ाइलनामों की शुरुआत में जोड़ना चाहूंगा ।

उदाहरण के लिए, फ़ाइल नाम हैं, DATASET_X_Y_Zऔर परिणाम होना चाहिए 1_DATASET_X_Y_Z

मुझे शेल स्क्रिप्टिंग के बारे में एक बात नहीं पता है, लेकिन शायद टर्मिनल के लिए एक लाइनर है।



@Rinzwind लिंक एक अलग प्रश्न के बारे में है। Macydanim सवाल फ़ाइल नाम के लिए स्ट्रिंग के बारे में है, न कि सामग्री को दर्ज करने के लिए।
जेसी

जवाबों:


38
  • rename 's/^/1_/' * वर्तमान निर्देशिका में सभी फ़ाइलों का नाम बदलने के लिए

या

  • rename 's/^/1_/' DATASET*DATASETउनके नाम से शुरू होने वाली वर्तमान निर्देशिका में सभी फ़ाइलों का नाम बदलने के लिए

स्पष्टीकरण: अभिव्यक्ति s/^/1_/कहती है: "फ़ाइल नाम की शुरुआत को बदलें (इसका अर्थ है कि यह प्रतीक -> ^) 'के साथ 1_"।


यदि आपका renameबॉक्स ऐसा नहीं करता है, तो आपको इंस्टॉल करना होगा prename(PERL नाम बदलना)।
user1359

14

आप वर्तमान निर्देशिका टाइपिंग में सभी फ़ाइलों को आसानी से नाम बदल सकते हैं (मान लें कि आप बैश का उपयोग कर रहे हैं):

for i in *; do mv "$i" 1_"$i"; done

जाहिर है इसे ध्यान से लें; यह वर्तमान निर्देशिका की सभी फाइलों को 'दृश्यमान' ('एक' से शुरू नहीं होने वाले फ़ाइलनाम '' में शामिल कर देगा)


यह पहला सही समाधान है जो मैंने पाया, जिसका उपयोग .csvफ़ाइलों के सबसेट की तरह कुछ को जोड़ने के लिए किया जा सकता है , जिसमें एक परिवर्तित वाइल्ड कार्ड अभिव्यक्ति है *। +1
ज़ेलफिर कल्टस्टाहल

वाह! CLI पर लूप्स! यह नया है। :)
रेमंड वचागा

9

आप pyRenamer का उपयोग कर सकते हैं । यह उबंटू सॉफ्टवेयर सेंटर में पाया जा सकता है। यहां छवि विवरण दर्ज करें मूल फ़ाइल पैटर्न {X} और बदला हुआ फ़ाइल पैटर्न 1_ {1} होना चाहिए


मेरे पसंदीदा कार्यक्रमों में से एक
एलन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.