cat
আউটপুট পুনঃনির্দেশের সাথে ব্যবহার করুন । শব্দবিন্যাস: cat file [file] [[file] ...] > joined-file
।
মাত্র দুটি ফাইলের উদাহরণ (আপনার আরও অনেকগুলি থাকতে পারে):
$ echo "some text in a file" > file1
$ echo "another file with some text" > file2
$ cat file1 file2 > mergedfiles
$ cat mergedfiles
some text in a file
another file with some text
আপনার কাছে "অনেকগুলি নথি" থাকলে শেল গ্লোববিং (প্যাটার্ন) ব্যবহার করুন:
cat input-files-dir/* > joined-file
এটি সেই ডিরেক্টরিতে থাকা সমস্ত ফাইলকে বর্তমান ডিরেক্টরিতে যোগ দেবে (এটি নিজেই আউটপুট ফাইলের সাথে মেলে তা রোধ করে)। এটি cat
আউটপুট পুনঃনির্দেশের ব্যবহারের জন্য সম্পূর্ণ স্বাধীন - এটি কেবলমাত্র সমস্ত ফাইলকে যুক্তি হিসাবে সরবরাহ করে cat
।
নথির ধরণ
আপনি যেমন কাগজ এবং টেপ দিয়ে যাবেন ঠিক তেমনি এটি ফাইলগুলিকে আঠালো (যোগদান) করবে। এটি হ্যান্ডেল করতে সক্ষম প্রকৃত ফাইল ফর্ম্যাট সম্পর্কে চিন্তা করে না। এটি পাঠ্য ফাইলগুলির জন্য কাজ করবে তবে পিডিএফ, ওডিটি ইত্যাদির জন্য নয়, ভাল, এটি তাদের একসাথে আঠালো করে তুলবে, তবে এটি আর বৈধ পিডিএফ / ওডিটি নয়।
যোগদানের আদেশ
যেমন ফোবিবস উল্লেখ করেছে শেল গ্লোব্বিংয়ের ফলে ফাইলের নাম বর্ণমালা অনুসারে হবে। এইভাবে বাশ এবং শেল গ্লোববিং কাজ করে।
input file is output file
ত্রুটি সম্পর্কে সংযোজন
যখন ইনপুট ফাইলগুলির প্যাটার্নটি আউটপুট হিসাবে একই ফাইলটির সাথে মেলে, এটি ত্রুটির কারণ হবে। এটি একটি সুরক্ষা বৈশিষ্ট্য। উদাহরণ: cat *.txt > out.txt
দ্বিতীয়বার চালানো এর কারণ হবে।
আপনি এটি সম্পর্কে কি করতে পারেন:
- আউটপুট নামের সাথে মেলে না, প্রকৃত ইনপুট ফাইলগুলির সাথে মেলে আরও সুনির্দিষ্ট প্যাটার্ন চয়ন করুন। উদাহরণ:
*.txt
আউটপুট ফাইল সহ ইনপুট ফাইলের প্যাটার্নটি output.out
সংঘর্ষ করবে না।
- বিভিন্ন ডিরেক্টরিতে কাজ করুন। উপরের উদাহরণে আমি
input-files-dir
সমস্ত ফাইল রাখার জন্য একটি পৃথক ডিরেক্টরি এবং বর্তমান ওয়ার্কিং ডিরেক্টরিতে আউটপুট ব্যবহার করেছি । এটি এই ত্রুটিটি পাওয়া অসম্ভব করে তোলে।
ls
কেবল মেলে তালিকাবদ্ধ করতে আপনার নিদর্শনগুলি ব্যবহার করে দেখুন । যেমনls *.txt
কি মিলছে তা দেখতে।