এটি একটি খারাপ ধারণা (ফাইলের নামে অদ্ভুত অক্ষর থাকা) তবে আপনি তা করতে পারেন
mv somefile.txt "foo
bar"
(আপনিও করতে পারেন mv somefile.txt "$(printf "foo\nbar")"
বা mv somefile.txt foo$'\n'bar
, ইত্যাদি ... বিশদগুলি আপনার শেলের সাথে সুনির্দিষ্ট are আমি ব্যবহার করছি zsh
)
গ্লোববিং সম্পর্কে আরও পড়ুন , যেমন গ্লোব (7) । বিশদগুলি শেল-নির্দিষ্ট হতে পারে। তবে বুঝুন যে /bin/mv
(আপনার শেল দ্বারা) প্রদত্ত ( এক্সকিভ) (2) এর মাধ্যমে যুক্তিগুলির একটি প্রসারিত অ্যারে: আর্গুমেন্ট প্রসার এবং গ্লোব্বিং হ'ল উদ্দীপনা শেলের দায়িত্ব।
এবং আপনি এটি করতে একটি ক্ষুদ্র সি প্রোগ্রামও কোড করতে পারেন:
#include <stdio.h>
#include <stdlib.h>
int main() {
if (rename ("somefile.txt", "foo\nbar")) {
perror("rename somefile.txt");
exit(EXIT_FAILURE);
};
return 0;
}
উপরের প্রোগ্রামটি সংরক্ষণ করুন foo.c
, এর সাথে সংকলন করুন gcc -Wall foo.c -o foo
তারপর রান করুন./foo
তেমনি, আপনি পার্ল, রুবি, পাইথন, ওকামল, প্রভৃতিতেও একই জাতীয় স্ক্রিপ্ট কোড করতে পারেন ....
তবে এটি একটি খারাপ ধারণা। ফাইলনামগুলিতে নতুন লাইনগুলি এড়িয়ে চলুন (এটি ব্যবহারকারীকে বিভ্রান্ত করবে এবং এটি অনেকগুলি স্ক্রিপ্টগুলি ভেঙে দিতে পারে)।
আসলে, আমি এমনকি কেবল ফাইল পাথগুলিতে কেবল অ-উচ্চারণকারী অক্ষর, সংখ্যা এবং +-/._%
অক্ষরগুলি ( /
ডিরেক্টরি বিভাজক হিসাবে) ব্যবহার করার পরামর্শ দিই । "লুকানো" ফাইলগুলি (শুরু দিয়ে .
) সাবধানতা এবং পার্সিমনি ব্যবহার করা উচিত। আমি বিশ্বাস করি কোনও ফাইলের নামে কোনও ধরণের স্থান ব্যবহার করা একটি ভুল। পরিবর্তে একটি আন্ডারস্কোর (উদাহরণস্বরূপ foo/bar_bee1.txt
) বা একটি বিয়োগ (উদাহরণ foo/bar-bee1.txt
) ব্যবহার করুন