টার্মিনালে, আমি কীভাবে বিভিন্ন ফাইলগুলিতে একাধিকবার একটি কমান্ড পুনর্বার করতে পারি?


13

টার্মিনালে, আমি একটি নির্দিষ্ট ডিরেক্টরিতে সমস্ত .MOV ফাইলকে .ogv ফাইলগুলিতে রূপান্তর করতে ffmpeg2theora ব্যবহার করতে চাই। তবে, নিম্নলিখিতটি কাজ করে না:

ffmpeg2theora *.MOV

বিভিন্ন ফাইলগুলিতে একাধিকবার কমান্ড পুনরাবৃত্তি করার কোনও ভাল উপায় আছে কি?

ধন্যবাদ!

উত্তর:


20

আপনি যদি ডিফল্ট শেল (ব্যাশ) ব্যবহার করেন তবে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:

for file in *.MOV; do ffmpeg2theora "$file"; done

5
এটি স্ল্যাশ ছাড়াই কাজ করার বেশি সম্ভাবনা রয়েছে:for file in *.[Mm][Oo][Vv]; do ffmpeg2theora "$file"; done
17 ই

হ্যাঁ, আপনি একেবারে ঠিক বলেছেন, আমি আমার উত্তর সংশোধন করেছি।
মার্সেল স্টিমবার্গ

1
আপনি nocaseglobলোয়ার-কেস, আপার-কেস মিক্সড-কেস ফাইল এক্সটেনশনের সাথে মিল রাখতে বাশ বিকল্পটিও সেট করতে পারেন ।
এনজোটিব

ধন্যবাদ! আমি আগে কখনও ব্যাশ ব্যবহার করি নি তবে এটি সত্যিই দরকারী বলে মনে হচ্ছে। (আমার শিখতে যাওয়ার সময়!)
অ্যালান সি

11

find . -iname '*.mov' -exec ffmpeg2theora '{}' \;

পুনরাবৃত্তির গভীরতা সীমাবদ্ধ করতে, আপনি -maxdepth 1আগে যুক্ত করতে পারেন-exec


2
কেবল এই উত্তর এবং আমার উত্তরের মধ্যে পার্থক্যটি বর্ণনা করতে: অনুসন্ধান ব্যবহার করে সাব-ডিরেক্টরিগুলিতে ফাইলগুলিও সন্ধান করবে, for file in *.MOVসমাধানটি কেবলমাত্র বর্তমান ডিরেক্টরিতে প্রদর্শিত হবে।
মার্সেল স্টিমবার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.