প্রশ্ন rsync এবং অন্তর্ভুক্ত / অন্তর্ভুক্ত। এটা কতটা কঠিন হতে পারে?


আমি একটি ডিরেক্টরি / ফাইলের কাঠামো পুনরাবৃত্তি করার জন্য এক ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে অনুলিপি করার চেষ্টা করছি, শুধুমাত্র এইচটিএমএল ফাইল রাখা। অন্তর্ভুক্ত / বাদ দেওয়া একটি সহজ কেস হওয়া উচিত নয়?

আমি শুধু ফাইল প্রথম মুদ্রণ করতে চান। আমি যে অধিকার পেতে হলে, আমি তাদের অনুলিপি করব।

rsync -a --list-only -v SOURCEDIR --exclude='.*' --include='**/*.html' 

আমাকে সব ফাইল দেয়।

rsync -a --list-only -v SOURCEDIR --include='**/*.html' --exclude='*' 

এবং

rsync -a --list-only -v SOURCEDIR --include='*.html' --exclude='*' 
rsync -a --list-only -v SOURCEDIR --include=*.html --exclude=*

আমাকে কোন ফাইল দিন।

rsync -a --list-only -v SOURCEDIR --include='*.html' --exclude='*.*'

মনে হচ্ছে এটি আমাকে সম্পূর্ণ ডিরেক্টরি গঠন এবং কেবলমাত্র HTML ফাইল দেয়। কিন্তু আমি খালি ডিরেক্টরি চাই না।

সাহায্য করুন!

ম্যাক ওএস 10.6


6
2017-07-01 17:48


উত্স




উত্তর:


আপনি আপনার কঠোর পরিশ্রম করতে ব্যবহার করে বিবেচনা করা হয়েছে?

লাইন বরাবর কিছু

find ./ -name "*.html" -exec rsync -R {} /target/base/directory/ \; 

ডিরেক্টরি ট্রি পুনঃনির্মিত করা হবে ./ যা html ফাইল পাওয়া যায়, এবং / target / base / ডিরেক্টরি অধীনে একই নির্মাণ


0
2017-07-01 20:24





RoRync এই মত নির্বাচনী কপি সম্পর্কে বিভ্রান্তিকর হতে পারে। আপনি যে কাজের জন্য জিজ্ঞাসা করছেন তা করার জন্য আমি নিম্নলিখিতগুলি ব্যবহার করি:

rsync -avP \
--filter='+ */' \
--filter='+ **/*.html' \
--filter='- *' \
--prune-empty-dirs \
--delete \
/source/ \
/dest/

মূলত আপনি অনুসন্ধানের সব ডিরেক্টরি অন্তর্ভুক্ত করতে হবে, তারপর সব যোগ করুন *.html তালিকা ফাইল, সব অন্যান্য ফাইল বাদ।

দ্য --prune-empty-dirs বিকল্পটি ব্যবহার করার পক্ষে সহজ, কারণ এটিতে কোনও ডিরেক্টরি নেই যা একটি নেই *.html ফাইল।


11
2017-07-01 20:22





আমি 100% নিশ্চিত নই এটি করার জন্য এটি সর্বোত্তম [0] উপায়, তবে আপনি আপনার শেষ প্রয়াসে খুব সামান্য টিকিট যুক্ত করতে এবং এটি কাজ করতে পারেন। শুধু যোগ করুন প্রিন্ট ডিরেক্টরি বিকল্প (--prune or -m)।

rsync -am --list-only -v SOURCEDIR --include='*.html' --exclude='*.*'

[0] 'সেরা' দ্বারা, আমি সবচেয়ে পরিষ্কার এবং সবচেয়ে কার্যকর উপায় মানে। মনে হচ্ছে এটি প্রকাশ করার আরো মার্জিত উপায় হওয়া উচিত, কিন্তু আমি জানি না এটি কী।


0
2017-07-01 19:21



আপনি এটি যোগ করতে ভুলে গেছেন। - Dennis Williamson
না আমি না। এটা শুরুতে, 'rsync-am'। আমি '-আমি' দিয়ে '-a' সংযুক্ত করেছি। - Christopher Cashell