انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: alieblice2 در 11 شهریور 1390، 01:20 ب‌ظ

عنوان: مشکل با اپشن exec- در دستور find
ارسال شده توسط: alieblice2 در 11 شهریور 1390، 01:20 ب‌ظ
سلام دوستان
یک مشکل با اپشن exec- دستور find هستش که اون جوری که باید عمل نمیکنه
من وقتی دستور زیر رو میزنم  (( همون طور که معلومه دستورو در دایرکتوری sisi اجرا کردم  ))
alieblice@~/Desktop/sisi$ find -mindepth 2 -maxdepth 6 -iname "test.ogg" -exec mv {} 123.ogg \;
دستور با موفقیت فایل مورد نظر رو پیدا میکنه و تغییر اسم هم میده ولی اونو به دایرکتوری sisi هم انتقال میده .  (( در هر دایرکتوری که دستور اجرا بشه به همون دایرکتوری انتقال میده  )) در حالی که من نمیخام انتقال بده و براش تعیین هم نکردم که انتقال بده

پیشاپیش ممنون
عنوان: پاسخ به: مشکل با اپشن exec- در دستور find
ارسال شده توسط: سید وحید رضا برهانی در 11 شهریور 1390، 10:06 ب‌ظ
سلام
چرا(یعنی آره) دیگه ! وقتی برای 123.ogg چیزی مشخص نکردی یعنی توی همون دایرکتوری که اجرا می شه بریزه (-exec ربطی به خود find نداره یک جوری مثل xargs رفتار می کنه! ) البته الان هر چی فکر می کنم که چطوری باید طوی  همون پوشه mv کنه ، چیزی به ذهنم نمی رسه (البته می تونی توی یک فایل بریزی بعد mv کنی ولی یک راه زیبا و اصولی و یک خطی ندارم)
عنوان: پاسخ به: مشکل با اپشن exec- در دستور find
ارسال شده توسط: HojjatJafary در 11 شهریور 1390، 11:55 ب‌ظ
سلام
اگه فقط می خوای اسم فایل رو عوض کنی چرا از دستور rename استفاده نمی کنی؟ mv خودش یه جورایی move می کنه دیگه!
عنوان: پاسخ به: مشکل با اپشن exec- در دستور find
ارسال شده توسط: alieblice2 در 12 شهریور 1390، 12:26 ب‌ظ
خودش این جوری گفته
# find -inum 16187430 -exec mv {} new-test-file-name \;
http://www.thegeekstuff.com/2009/03/15-practical-linux-find-command-examples/
http://www.thegeekstuff.com/2009/06/15-practical-unix-linux-find-command-examples-part-2/
منم همون جوری میزنم ولی کار نمیکنه البته برایه انتقال فایل درست کار میکنه میگم ببر تو home دایرکتوری میبره
با rename هم تست میکنم جوابشو میزارم
عنوان: پاسخ به: مشکل با اپشن exec- در دستور find
ارسال شده توسط: سید وحید رضا برهانی در 12 شهریور 1390، 05:06 ب‌ظ
سلام
می دونی این اپشن به صورت اسکریپتی کار نمی کنه (شاید من بلدنیستم)(یعنی به دفعات اجرا کنه -برای هر یافته یک بار اجرا کنه)بلکه کل فایلها رو پیدا می کنه و به اون برنامه می ده مثلا اینطوری می شه
mv ./test.ogg ./1/test.ogg ./2/test.ogg 123.ogg
که خب چون در mv آخرین پارامتری که ارسال می شه به طور پیشفرض مقصد هست برای همین همه ی اون فایلها رو در مسیز جاری می ریزه
عنوان: پاسخ به: مشکل با اپشن exec- در دستور find
ارسال شده توسط: alieblice2 در 13 شهریور 1390، 02:00 ب‌ظ
من کار با این rename رو نمیفهمم چه جوریه این اررورو میده
alieblice@~/Desktop/sisi$ rename pic pic1
Bareword "pic" not allowed while "strict subs" in use at (eval 1) line 1.

این دستور rename قابلیت تغییر نام گروهی هم داره ؟
عنوان: پاسخ به: مشکل با اپشن exec- در دستور find
ارسال شده توسط: HojjatJafary در 13 شهریور 1390، 08:18 ب‌ظ
اولین آرگومان دستور rename قانونی است که می خواهید فایلهایتان طبق آن تغییر کند آرگومان دوم هم فایلهایی است که باید تغییر داده شود.