این دستور mad است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
mmv - انتقال/کپی/پیوست کردن/پیوند دادن چندین فایل توسط الگوهای عام
خلاصه
میلی متر [-m|x|r|c|o|a|l|s] [-h] [-d|p] [-g|t] [-v|n] [--] [از جانب به]
مثال ها
همه را تغییر نام دهید *.jpeg فایل های موجود در فهرست فعلی به * .jpg:
mmv '*.jpeg' '#1.jpg'
اولین وقوع را جایگزین کنید الفبا با XYZ در تمام فایل های دایرکتوری فعلی:
mmv '*abc*' '#1xyz#2'
تغییر نام فایل هایی که به پایان می رسند html.en, .html.deو غیره به پایان می رسد .en.html, .de.htmlو غیره در
دایرکتوری فعلی:
mmv '*.html.??' '#1.#2#3.html'
تغییر نام فایل های موسیقی از < آهنگ نه.> - - <آهنگ عنوان>.ogg به -
< آهنگ نه.> - <آهنگ عنوان>.ogg در دایرکتوری فعلی:
mmv '* - * - *.ogg' '#2 - #1 - #3.ogg'
شرح
Mmv هر فایل منبع مطابق با a را جابجا می کند (یا کپی می کند، ضمیمه یا پیوند می دهد، همانطور که مشخص شده است). از جانب
الگوی به نام هدف مشخص شده توسط به الگو. این عمل چندگانه انجام می شود
با خیال راحت، یعنی بدون هیچ گونه حذف غیرمنتظره فایل ها به دلیل برخورد نام هدف
با نام فایل های موجود یا با نام های هدف دیگر. علاوه بر این، قبل از انجام هر کاری،
میلی متر تلاش برای شناسایی هر گونه خطایی که از کل مجموعه اقدامات ناشی می شود
مشخص شده و به کاربر این امکان را می دهد که با اجتناب از توهین اقدام کند
قطعات یا سقط میلی متر از فایل های حجیم (LFS) پشتیبانی می کند اما *نیک** از پراکنده پشتیبانی نمی کند
فایل ها (یعنی آنها را منفجر می کند).
گزینه های وظیفه
چه میلی متر حرکت ها، کپی ها، ضمیمه ها یا پیوندها توسط اولین مجموعه از گزینه های ارائه شده کنترل می شود
در بالا. اگر هیچ یک از اینها مشخص نشده باشد، وظیفه با نام دستوری که تحت آن قرار دارد، داده می شود
میلی متر فراخوانی شد (argv[0]):
وظیفه پیش فرض نام فرمان
mmv -x
mcp -c
دیوانه -a
میلیون -لیتر
گزینه های کار عبارتند از:
-m: انتقال فایل منبع به نام مقصد. هر دو باید روی یک دستگاه باشند. حرکت نخواهد کرد
دایرکتوری ها اگر فایل منبع یک پیوند نمادین است، پیوند را بدون آن منتقل می کند
بررسی اینکه آیا هدف پیوند از فهرست جدید با فهرست قدیمی متفاوت است یا خیر.
-x : مانند -m، به جز حرکت های متقابل دستگاه با کپی کردن و سپس حذف منبع انجام می شود.
هنگام کپی کردن، بیت های مجوز و زمان تغییر فایل هدف را تنظیم می کند
فایل به فایل منبع.
-r: نام فایل منبع یا دایرکتوری را به نام مقصد تغییر دهید. نام هدف نباید شامل الف باشد
path: فایل در همه موارد در همان دایرکتوری باقی می ماند. این گزینه تنها است
روش تغییر نام دایرکتوری ها در زیر میلی متر.
-c: فایل منبع را به نام هدف کپی کنید. زمان و مجوز تغییر فایل را تنظیم می کند
بیت های فایل هدف به فایل منبع، صرف نظر از اینکه آیا
فایل هدف از قبل وجود دارد. زنجیره ها و چرخه ها (که در زیر توضیح داده می شود) نیستند
مجاز.
-o: نام هدف را با فایل منبع بازنویسی کنید. اگر فایل هدف وجود داشته باشد، بازنویسی می شود،
نگه داشتن مالک اصلی و بیت های مجوز. اگر وجود نداشته باشد، هست
ایجاد شده، با بیت های مجوز خواندن و نوشتن بر اساس تنظیم شده است umask(1) و اجرا کنید
بیت های مجوز از فایل منبع کپی شده است. در هر صورت، اصلاح فایل
زمان بر روی زمان فعلی تنظیم شده است.
-a: محتویات فایل منبع را به نام هدف اضافه کنید. زمان اصلاح فایل هدف است
روی زمان فعلی تنظیم کنید اگر فایل هدف وجود نداشته باشد، با ایجاد می شود
بیت های مجوز به صورت زیر -o تنظیم می شوند. بر خلاف همه گزینه های دیگر، -a اجازه می دهد تا چند
فایل های منبع برای داشتن نام هدف یکسان، به عنوان مثال "mmv -a \*.c big" همه را اضافه می کند
".c" را به "big" تبدیل می کند. زنجیره ها و چرخه ها نیز مجاز هستند، بنابراین "mmv -aff" خواهد بود
"f" را دو برابر کنید.
-l: پیوند نام هدف به فایل منبع. هر دو باید در یک دستگاه و منبع باشند
نباید دایرکتوری باشد. زنجیر و چرخه مجاز نیست.
-s: مانند -l، اما به جای پیوندهای سخت از پیوندهای نمادین استفاده کنید. برای پیوند حاصل
برای بازگشت به منبع، نام منبع باید با '/' شروع شود یا با
هدف باید در دایرکتوری فعلی یا منبع قرار داشته باشد. اگر هیچ کدام از اینها نیست
شرایط رعایت شده است، لینک رد می شود. با این حال، منبع و هدف میتوانند در آن قرار داشته باشند
دستگاه های مختلف، و منبع می تواند یک دایرکتوری باشد.
فقط یکی از این گزینه ها ممکن است داده شود و برای همه فایل های منطبق اعمال می شود. باقی مانده است
لازم نیست گزینه ها جداگانه داده شوند، یعنی "mmv -mk" مجاز است.
چندین جفت الگو / خواندن الگوهای از STDIN
چندین از جانب -- به جفتهای الگو را میتوان با حذف جفت الگو روی آن مشخص کرد
خط فرمان، و وارد کردن آنها در ورودی استاندارد، یک جفت در هر خط. (اگر یک الگو
جفت در خط فرمان داده می شود، ورودی استاندارد خوانده نمی شود.) بنابراین،
میلی متر
آب
سی دی
نام "الف" را به "ب" و "ج" را به "د" تغییر می دهد. اگر بتوان یک فایل را با چندین مورد داده شده مطابقت داد
از جانب الگوها ، به الگوی اولین جفت تطبیق استفاده می شود. بدین ترتیب،
میلی متر
آب
ac
پیغام خطای "a -> c : no match" را می دهد زیرا فایل "a" (حتی اگر وجود داشته باشد) بود
قبلاً با اولین جفت الگو مطابقت داده شده است.
هشدار: این حالت عملیات انجام می دهد نه اگر خود الگوها شامل شوند کار کنید فضاهااست. دیدن
http://bugs.debian.org/149873 برای جزئیات بیشتر.
La از جانب الگو
La از جانب Pattern یک نام فایل با عبارات جاسازی شده است: '*'، '?'، '['...']'، و ';'. در
سه نفر اول معمول خود را دارند sh(1) معانی، به ترتیب، مطابق با هر رشته ای از
کاراکترها، مطابق با هر یک از شخصیت ها، و مطابقت با هر یک از مجموعه ای از شخصیت ها.
بین «[» و «]»، محدودهای از کاراکتر «a» تا «z» مشخص میشود.
با "az". مجموعه ای از کاراکترهای منطبق را می توان با درج یک '^' بعد از علامت نفی کرد
'['. بنابراین، "[^b-e2-5_]" با هر کاراکتری به جز "b" تا "e"، "2" تا "5" مطابقت دارد،
و '_'.
توجه داشته باشید که مسیرها در الگوها مجاز هستند و حروف عام ممکن است با آنها مخلوط شوند
خودسرانه بریده می شود. ';' wildcard برای تطبیق فایل ها در هر عمقی مفید است
درخت دایرکتوری مطابق با "*/" است که هر تعداد بار تکرار شده است، از جمله صفر،
و فقط می تواند در ابتدای الگو یا بعد از یک '/' رخ دهد. بنابراین ";*.c"
همه فایلهای ".c" در دایرکتوری فعلی یا زیر آن مطابقت دارد، در حالی که "/;*.c" با آنها مطابقت دارد
در هر نقطه از سیستم فایل
علاوه بر این ، اگر از جانب الگوی (یا به الگو) با "~/" شروع می شود، "~" جایگزین می شود
با نام دایرکتوری خانه (توجه داشته باشید که ویژگی "~user" از csh(1) نیست
اجرا شد.) با این حال، "~" به عنوان یک علامت عام در نظر گرفته نمی شود، به این معنا که اینطور نیست
یک شاخص عام تخصیص داده شده است (به زیر مراجعه کنید).
از آنجایی که تطبیق دایرکتوری تحت یک گزینه وظیفه به غیر از -r یا -s منجر به یک می شود
خطا، وظایفی غیر از -r و -s با دایرکتوریهای کاملاً صریح مطابقت دارند از جانب
الگوها (یعنی فاقد حروف عام). زیر -r و -s، این فقط برای "." و
"..".
فایل هایی که با '.' شروع می شوند فقط با هم مطابقت دارند از جانب الگوهایی که با یک شروع می شوند
صریح ".". با این حال، اگر -h مشخص شود، آنها به طور معمول مطابقت دارند.
هشدار: از آنجایی که پوسته معمولاً قبل از عبور از خط فرمان، حروف عام را گسترش می دهد
استدلال به میلی متر، معمولاً لازم است خط فرمان را محصور کنید از جانب و به الگوهای
در نقل قول
La به الگو
La به الگو یک نام فایل با تعبیه شده است wildcard فهرستها، جایی که یک شاخص شامل
کاراکتر "#" به دنبال یک رشته از رقم. وقتی یک فایل منبع مطابق با a از جانب
الگو، یک نام هدف برای فایل از آن ساخته می شود به الگو با جایگزینی
ایندکسهای عام توسط کاراکترهای واقعی که با حروف عام ارجاع شده در متن مطابقت دارند
نام منبع بنابراین، اگر از جانب الگوی "abc*.*" است و به الگوی "xyz#2.#1" است، سپس
"abc.txt" برای "xyztxt" هدف قرار گرفته است. ("*" اول با ""، و دومی مطابقت داشت
"txt".) به طور مشابه، برای جفت الگوی ";*.[clp]" -> "#1#3/#2"، "foo1/foo2/prog.c" است
"foo1/foo2/c/prog" را هدف قرار داده است. توجه داشته باشید که هیچ "/" به دنبال "#1" در وجود ندارد به
الگو، از آنجایی که رشته با هر ";" مطابقت دارد همیشه یا خالی است یا به "/" ختم می شود. که در
در این مورد، با "foo1/foo2/" مطابقت دارد.
برای تبدیل رشته ای که قبلاً با حروف عام مطابقت داده شده است به حروف کوچک یا بزرگ
با قرار دادن آن در نام هدف، به ترتیب "l" یا "u" را بین "#" و
رشته ارقام
La به الگو، مانند از جانب الگو، می تواند با یک "~/" شروع شود (به بالا مراجعه کنید). این نیست
محصور کردن را ضروری می کند به الگوی در نقل قول در خط فرمان از آنجا csh(1) گسترش می یابد
'~' دقیقاً به همان روشی که میلی متر (یا در مورد sh(1)، آن را در گسترش نمی دهد
همه).
برای همه گزینه های وظیفه به غیر از -r، اگر نام هدف یک دایرکتوری باشد، هدف واقعی
نام با الحاق یک '/' به دنبال آخرین جزء نام فایل منبع تشکیل می شود.
به عنوان مثال، "mmv dir1/a dir2"، اگر "dir2" در واقع یک فهرست باشد، در واقع حرکت می کند.
"dir1/a" به "dir2/a". با این حال، اگر "dir2/a" از قبل وجود داشته باشد و خود یک دایرکتوری باشد، این است
خطا محسوب می شود.
برای حذف هر کاراکتری (به عنوان مثال '*'، '?'، یا '#') از معنای خاص آن میلی مترمانند زمانی که
نام جایگزین واقعی باید دارای کاراکتر «#» باشد، قبل از کاراکتر ویژه
a '\' (و به دلیل پوسته، آرگومان را در گیومه قرار دهید). این نیز کار می کند
هنگامی که باید یک رقم در نام فایل به دنبال آن باشد، یک فهرست عام را خاتمه دهید، به عنوان مثال
"a#1\1".
زنجیره ها و چرخه ها
یک زنجیره دنباله ای از اقدامات مشخص شده است که نام هدف یک عمل به آن اشاره دارد
فایل منبع یک اقدام دیگر مثلا،
میلی متر
آب
قبل از میلاد مسیح
زنجیره "a" -> "b" -> "c" را مشخص می کند. یک چرخه زنجیره ای است که در آن نام آخرین هدف
به اولین فایل منبع باز می گردد، به عنوان مثال "mmv aa". Mmv زنجیره ها و چرخه ها را تشخیص می دهد
صرف نظر از ترتیبی که اقدامات سازنده آنها در واقع انجام می شود. جایی که
مجاز است، یعنی در جابجایی، تغییر نام و الحاق فایل ها، زنجیره ها و چرخه ها مدیریت می شوند
با ظرافت، با اجرای آنها به ترتیب مناسب. چرخه ها با اولین تغییر نام شکسته می شوند
یکی از فایل ها به نام موقت (یا صرفاً اندازه اصلی آن را هنگام انجام به خاطر بسپارید
ضمیمه می کند).
برخوردها و حذف ها
زمانی که هر دو یا چند فایل منطبق باید منتقل شوند، کپی شوند یا به آن پیوند داده شوند
نام فایل هدف، میلی متر قبل از انجام هر اقدامی، شرایط را به عنوان یک خطا تشخیص می دهد.
علاوه بر این، میلی متر بررسی می کند که آیا هر یک از اقدامات آن منجر به نابودی موجود می شود یا خیر
فایل ها. اگر گزینه -d (حذف) مشخص شده باشد، تمام حذف یا بازنویسی فایل انجام می شود
بی صدا زیر -p (محافظت)، همه حذفها یا بازنویسیها (به جز موارد مشخص شده با
"(*)" در ورودی استاندارد، زیر را ببینید) به عنوان خطا تلقی می شوند. و اگر هیچکدام از گزینه ها نباشد
مشخص شده است، کاربر در مورد هر حذف یا بازنویسی جداگانه سؤال می شود. (یک جریان جدید
to "/dev/tty" برای همه پرس و جوهای تعاملی استفاده می شود، نه ورودی استاندارد.)
رفع خطا
هر زمان که هر گونه خطایی در مشخصات عملکرد کاربر شناسایی شود، یک پیغام خطا ارسال می شود
داده شده در خروجی استاندارد، و میلی متر به بررسی بقیه اقدامات مشخص شده ادامه می دهد.
پس از شناسایی همه خطاها، میلی متر از کاربر می پرسد که آیا مایل به ادامه کار است یا خیر
اجتناب از اعمال اشتباه و یا به طور کلی سقط. این و همه سؤالات دیگر ممکن است باشد
با مشخص کردن گزینه -g (go) یا -t (پایان) اجتناب شود. اراده قبلی
همه مشکلات را با اجتناب از اقدامات اشتباه حل کنید. دومی سقط خواهد شد میلی متر if
هر گونه خطا شناسایی می شود تعیین هر یک از آنها به صورت پیش فرض میلی متر به -p، مگر اینکه -d باشد
مشخص شده است (به بالا مراجعه کنید). بنابراین، -g و -t هنگام اجرا بسیار مفید هستند میلی متر در پس زمینه
یا در اسکریپت پوسته، زمانی که پرس و جوهای تعاملی نامطلوب هستند.
گزارش ها
پس از مشخص شدن اقداماتی که باید انجام شود، میلی متر آنها را بی سر و صدا انجام می دهد، مگر اینکه یکی از آنها باشد
گزینه -v (کلامی) یا -n (بدون اجرا) مشخص شده است. سابق باعث می شود میلی متر گزارش
هر عمل بر روی خروجی استاندارد به عنوان
a -> b: انجام شد.
در اینجا، "a" و "b" به ترتیب با نام منبع و مقصد جایگزین می شوند. اگر
اقدام هدف قدیمی را حذف می کند، یک "(*)" بعد از نام هدف درج می شود. همچنین
نماد "->" هنگامی که یک چرخه باید شکسته شود اصلاح می شود: '>' به یک '^' در
اقدامی که قبل از آن هدف قدیمی به موقت تغییر نام داده می شود و '-' به تغییر نام می یابد
یک '=' در عملی که در آن موقت استفاده می شود.
در زیر -n، هیچ یک از اقدامات انجام نمی شود، اما پیام هایی مانند موارد فوق روی چاپ می شوند
خروجی استاندارد با ": done." حذف شده است.
خروجی تولید شده توسط -n می تواند (پس از ویرایش، در صورت تمایل) به آن بازگردانده شود میلی متر در
ورودی استاندارد (با حذف از جانب -- به جفت کردن در میلی متر خط فرمان). جهت تسهیل
این، میلی متر خطوطی را در ورودی استاندارد نادیده می گیرد که شبیه خطای خود هستند و "انجام شد"
پیامها، و همچنین تمام خطوطی که با فضای سفید شروع میشوند، و جفتهای الگو را میپذیرند
با یا بدون میان «->» (یا «-^»، «=>»، یا «=^»). خطوط با "(*)" بعد از
الگوی هدف تنها برای فایل هایی که با این الگو مطابقت دارند، -d را فعال می کند، بنابراین
که این گونه حذف ها بی سر و صدا انجام می شود.
هشدار: این بدان معناست که غیر منتظره اشیاء ممکن است اتفاق بیفتد اگر فایل ها مطابق با الگوها
شامل فضاهااست. دیدن http://bugs.debian.org/149873 برای جزئیات بیشتر.
هنگام تغذیه میلی متر خروجی خود را، باید به یاد داشته باشید که دوباره گزینه task را مشخص کنید (اگر
هر) در اصل برای تولید آن استفاده شده است.
هر چند میلی متر تلاش برای پیشبینی همه حوادث ناگوار قبل از انجام هر اقدام مشخص،
حوادث ممکن است رخ دهد مثلا، میلی متر زمانی که فضای خالی کافی را بررسی نمی کند
کپی برداری. بنابراین، با وجود همه تلاشها، باز هم ممکن است بعد از مدتی یک عمل با شکست مواجه شود
بقیه قبلاً انجام شده است. برای سهولت در بهبودی، میلی متر گزارش هایی که
اقدامات قبلاً انجام شده است و پس از چنین شکستی هنوز باید انجام شود
رخ می دهد. سپس سقط می شود و سعی نمی کند کار دیگری انجام دهد. هنگامی که کاربر پاک شد
مشکل، او می تواند این گزارش را به آن بازگرداند میلی متر روی ورودی استاندارد تا کامل شود
وظیفه (از کاربر برای نام فایل درخواست می شود تا این گزارش در صورت خروجی استاندارد حذف شود
هدایت نشده است.)
خروج وضعیت
Mmv اگر قبل از انجام هر کاری سقط شود با وضعیت 1 خارج می شود و اگر سررسید سقط شود با وضعیت 2 خارج می شود
پس از انجام برخی از اقدامات شکست خورده و در غیر این صورت با وضعیت 0.
با استفاده از خدمات onworks.net از حالت آنلاین دیوانه استفاده کنید