انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: alieblice2 در 11 شهریور 1390، 01:20 بظ
-
سلام دوستان
یک مشکل با اپشن exec- دستور find هستش که اون جوری که باید عمل نمیکنه
من وقتی دستور زیر رو میزنم (( همون طور که معلومه دستورو در دایرکتوری sisi اجرا کردم ))
alieblice@~/Desktop/sisi$ find -mindepth 2 -maxdepth 6 -iname "test.ogg" -exec mv {} 123.ogg \;
دستور با موفقیت فایل مورد نظر رو پیدا میکنه و تغییر اسم هم میده ولی اونو به دایرکتوری sisi هم انتقال میده . (( در هر دایرکتوری که دستور اجرا بشه به همون دایرکتوری انتقال میده )) در حالی که من نمیخام انتقال بده و براش تعیین هم نکردم که انتقال بده
پیشاپیش ممنون
-
سلام
چرا(یعنی آره) دیگه ! وقتی برای 123.ogg چیزی مشخص نکردی یعنی توی همون دایرکتوری که اجرا می شه بریزه (-exec ربطی به خود find نداره یک جوری مثل xargs رفتار می کنه! ) البته الان هر چی فکر می کنم که چطوری باید طوی همون پوشه mv کنه ، چیزی به ذهنم نمی رسه (البته می تونی توی یک فایل بریزی بعد mv کنی ولی یک راه زیبا و اصولی و یک خطی ندارم)
-
سلام
اگه فقط می خوای اسم فایل رو عوض کنی چرا از دستور rename استفاده نمی کنی؟ mv خودش یه جورایی move می کنه دیگه!
-
خودش این جوری گفته
# 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 هم تست میکنم جوابشو میزارم
-
سلام
می دونی این اپشن به صورت اسکریپتی کار نمی کنه (شاید من بلدنیستم)(یعنی به دفعات اجرا کنه -برای هر یافته یک بار اجرا کنه)بلکه کل فایلها رو پیدا می کنه و به اون برنامه می ده مثلا اینطوری می شه
mv ./test.ogg ./1/test.ogg ./2/test.ogg 123.ogg
که خب چون در mv آخرین پارامتری که ارسال می شه به طور پیشفرض مقصد هست برای همین همه ی اون فایلها رو در مسیز جاری می ریزه
-
من کار با این rename رو نمیفهمم چه جوریه این اررورو میده
alieblice@~/Desktop/sisi$ rename pic pic1
Bareword "pic" not allowed while "strict subs" in use at (eval 1) line 1.
این دستور rename قابلیت تغییر نام گروهی هم داره ؟
-
اولین آرگومان دستور rename قانونی است که می خواهید فایلهایتان طبق آن تغییر کند آرگومان دوم هم فایلهایی است که باید تغییر داده شود.