মার্কডাউন ফাইলগুলিকে এইচটিএমএলে রূপান্তর করতে ফাইন্ড কমান্ড ব্যবহার করুন


17

ধরুন আমার হার্ডডিস্কে এক্সটেনশনগুলি থাকার মতো ফাইল রয়েছে .md

আমি এই সমস্ত ফাইলের .htmlমাধ্যমে findএবং -execবিকল্পটিতে রূপান্তর করতে চাই ।

একটি মার্কডাউন ফাইলকে এইচটিএমএল রূপান্তর করার কমান্ডটি

markdown readme.md > readme.html

আমি এরকম কিছু ব্যবহার করার চেষ্টা করছি:

find / -name "*.md" -type f -exec markdown {} > {}.html \;

অবশ্যই, উপরের কাজ করে না। সুতরাং, আমি কীভাবে এটি কেবল findএবং ব্যবহার করে করব exec?


উত্তর:


16

আপনাকে কনস্ট্রাক্টটির চারপাশে উদ্ধৃতি দিতে হবে >কারণ এটি শেল বিশেষ চরিত্রের মতো:

find / -name "*.md" -type f -exec sh -c 'markdown "$0" > "$0.html"' {} \;

এটি ফাইলগুলির পুনরায় নামকরণও করবে যাতে আপনার foo.htmlপরিবর্তে শেষ হয় foo.md.html:

find / -name "*.md" -type f -exec sh -c 'markdown "${0}" > "${0%.md}.html"' {} \;

আপনি এখনই file.md.html পাবেন না? File.html এর পরিবর্তে?
বার্নহার্ড

@ রশ আমার {}উভয় কমান্ডের শেষে কেন দরকার ? এছাড়াও, দ্বিতীয় কমান্ডে, আমার পক্ষে অনুসরণ করা খুব কঠিন যে কী ঘটেছে? আমি ${0%.md}/.htmlঅংশটি বুঝতে পারি না ।
অভিজিৎ রাস্তোগি

বিটিডব্লিউ, আমি শুধু পরীক্ষা করেছিলাম। আপনি সম্ভবত ভুল করে ফরোয়ার্ড স্ল্যাশ লিখেছেন ${0%.md}/.html
অভিজিৎ রাস্তোগি

@ শাদিয়াবি চূড়ান্ত {}হ'ল sh -cস্ট্রিংয়ের ইনপুট আর্গুমেন্ট , এবং সেখানে প্রবেশ করা আছে $0। আপনি যে কমান্ডটি স্ট্রিপগুলি .mdএবং যুক্তগুলি বুঝতে পারছেন না .html। আপনি সম্ভবত পালিয়ে .
বার্নহার্ড

@ বার্নহার্ড আপনার উত্তরের জন্য ধন্যবাদ সত্যিই, আমি এটি আগেও জানতাম যে এটি ফেলা .mdএবং যুক্ত করা হয়েছে .htmlতবে আমি এটি সম্পর্কে আরও জানতে চাই। আপনি কি আমাকে উইকি / ডকটিতে পুনর্নির্দেশ করতে পারেন যা এটি ব্যাখ্যা করে?
অভিজিৎ রাস্তোগি

0

পথ ঠিক অর্জন করার কি আপনি লিখেছি ব্যবহার করা markdown'র -oবিকল্প, যা আউটপুট ফাইলের নাম নির্দিষ্ট করে, অর্থাত

find / -name "*.md" -type f -exec markdown -o {}.html {} \;

এইভাবে এটি করা কেবল মার্কডাউন চালানোর জন্য একটি নতুন শেল শুরু করা এড়ানো যায়।

দুর্ভাগ্যক্রমে, বার্নহার্ড উল্লেখ করেছেন যে, এটি এভাবে করা আপনার file.md.htmlপরিবর্তে নামকরণ করা ফাইল দেয় file.html, সুতরাং এখানে রাশ এর পদ্ধতির আরও উপযুক্ত।


1
কিন্তু, markdownএকটি নেই -oবিকল্প। আমি মন্তব্য করার আগে ডাবল চেক করেছি।
অভিজিৎ রাস্তোগি

মার্কডাউন (1) বলে যে এটি করে, তবে সম্ভবত আপনার আলাদা সংস্করণ রয়েছে?
মাইকেল

1
আপনি ব্যবহার করতে পারে pandoc -f markdown -t html -o...
মাইকেল

ওহ, আমি ডেয়ারিংফায়ারবল.টোন / প্রকল্পগুলি / মার্কডাউন ব্যবহার করছিলাম এবং এটির এটি নেই।
অভিজিৎ রাস্তোগি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.