ঠিক আছে, আমার কাছে ড্যাশ দিয়ে শুরু হওয়া অনেকগুলি ফাইল রয়েছে -। যা এতটা ভাল নয় ... এবং আমি তাদের নাম পরিবর্তন করতে চাই। আমার বিশেষ ক্ষেত্রে আমি কেবল তাদের সামনে একটি চরিত্র রাখতে চাই।
আমি নিম্নলিখিত লাইনটি খুঁজে পেয়েছি যা কাজ করা উচিত, তবে এটি ড্যাশ হওয়ার কারণে এটি কার্যকর হয় না:
for file in -N*.ext; do mv $file x$file; done
আমি echo
যদি সামনে mv
রাখি তবে আমি একটি গুচ্ছ পাব
mv -N1.ext x-f1.ext
mv -N2.ext x-f2.ext
কোনটি সঠিক, অবশ্যই এটি প্রথম ফাইলের নাম বিকল্প হিসাবে মনে করবে। সুতরাং আমি যখন সরান echo
এবং এটি চালান আমি ঠিক একটি গুচ্ছ পেতে
mv: illegal option -- N
আমি এটিকে পরিবর্তন করার চেষ্টা করেছি
for file in -N*.ext; do mv "$file" "x$file"; done
তবে উদ্ধৃতিগুলি কেবল এড়ানো হবে বলে মনে হচ্ছে। একক উদ্ধৃতি ব্যবহারের চেষ্টা করা হয়েছিল, কিন্তু তারপরে ভেরিয়েবলটি প্রসারিত হয়নি ... আমি এখানে কী করব?
আপডেট: আমি এখন উদ্ধৃতি উদ্ধৃত করার চেষ্টা করেছি। এটার মত:
for file in -N*.ext; do mv '"'$file'"' '"'x$file'"'; done
এবং আমি যখন এটি প্রতিধ্বনিত করি তখন এটি সঠিক দেখা যায় তবে আমি যখন এটি চালাই আমি তখনই পেতাম
mv: rename "-N1.ext" to "x-n1.ext":: No such file or directory
এখন কীভাবে এটি করবেন তা সম্পর্কে আমার কোনও ক্লু নেই s