আমি ডিরেক্টরিটি A থেকে ডিরেক্টরি বিতে ফাইলগুলির একটি সেট কপি করতে চাই, এই সতর্কতার সাথে যে ডিরেক্টরি A-তে কোনও ফাইল ডিরেক্টরি B এর একটি ফাইলের সমান হয়, সেই ফাইলটি অনুলিপি করা উচিত নয় (এবং সুতরাং এটির পরিবর্তনের সময়টি হওয়া উচিত নয়) আপডেট করা হয়েছে)। এটি করার জন্য আমার নিজের স্ক্রিপ্ট না লিখে বিদ্যমান সরঞ্জামগুলি দিয়ে কী করার কোনও উপায় আছে?
আমার ব্যবহারের ক্ষেত্রে কিছুটা ব্যাখ্যা করার জন্য: আমি .c
একটি অস্থায়ী ডিরেক্টরিতে একটি গুচ্ছ ফাইলগুলি স্বয়ংক্রিয়ভাবে তৈরি করছি (এমন একটি পদ্ধতি যা তাদের সমস্তটি নিঃশর্তভাবে উত্পন্ন করতে হবে), এবং যখন আমি সেগুলি পুনরায় উত্পন্ন করি তখন আমি কেবল অনুলিপি করতে চাই যেগুলি প্রকৃত উত্স ডিরেক্টরিতে পরিবর্তিত হয়েছে এবং অপরিবর্তিত ব্যক্তিদের (তাদের পুরানো সৃষ্টির সময় সহ) রেখে গেছে যাতে make
তারা জানতে পারে যে এগুলি পুনরায় সংকলনের দরকার নেই। ( .c
যদিও উত্পন্ন সমস্ত ফাইলই ফাইল নয়, সুতরাং পাঠ্যের তুলনায় আমার বাইনারি তুলনা করা দরকার))
(ক নোট হিসাবে: এই প্রশ্নের আমি জিজ্ঞাসা বাইরে যেতেন https://stackoverflow.com/questions/8981552/speeding-up-file-comparions-with-cmp-on-cygwin/8981762#8981762 , আমি কোথায় চেষ্টা ছিল স্ক্রিপ্ট ফাইলটির গতি বাড়ানোর জন্য আমি এই অপারেশনটি করতে ব্যবহার করেছিলাম, তবে আমার কাছে এটি ঘটে যে আমার নিজের স্ক্রিপ্টটি লেখার চেয়ে এটি করার আরও ভাল উপায় আছে কিনা তা আমার কাছে সত্যিই জিজ্ঞাসা করা উচিত - বিশেষত শেল থেকে এটি করার কোনও সহজ উপায় স্ক্রিপ্ট cmp
প্রতিটি জোড়া ফাইলের মতো কিছু শুরু করবে এবং এই সমস্ত প্রক্রিয়া শুরু করা খুব দীর্ঘ সময় নেয়))
rsync -avnc
বা দীর্ঘ পথ rsync --archive --verbose --dry-run --checksum
।
diff -qr dirA dirB
কোন ফাইলগুলির স্বতন্ত্রdirA
এবংdirB
অনন্যরূপে তা দেখতে আপনি ব্যবহার করতে পারেন ।