regexp এবং ইকো ম্যাচ ব্যবহার করে সন্ধান করুন


2

আমার কাছে / হোম / ডিরেক্টরিতে প্রায় 50 জন ব্যবহারকারী রয়েছে এবং আমি প্রত্যেকের কাছে গিট সংগ্রহস্থলটি ক্লোন করেছি:

/ বাড়িতে / মূল ব্যবহারকারী হিসাবে কার্যকর:

find . -maxdepth 1 -type d ! -name . -prune -exec git clone /shared/repos/project_xpto.git {}/www/xpto/ \;

এখন আমাকে এই ক্লোন করা সংগ্রহস্থলগুলিতে মালিকদের সেট করা দরকার।

আমি ক্লোন ব্যবহারকারী_ফোল্ডার_নাম সম্পাদন করতে চাই: প্রতিটি ক্লোন করা রেপোর জন্য বিকাশ -আর। / ব্যবহারকারীর /www/xpto/

তারপরে আমি এটি দিয়ে শুরু করেছি:

find . -maxdepth 1 -regextype sed -regex "./\([A-Za-z0-9-_]\).*" -type d -exec echo {}/ \;

এবং আমি এই বিষয়ে ভাবতে চাই:

find . -maxdepth 1 -regextype sed -regex "./\([A-Za-z0-9-_]\).*" -type d -exec chown ${expr1}:development {}/www/xpto/ -R

আমি জানি যে $ r expr1 exists বিদ্যমান নেই। আমি কীভাবে আমার প্রথম ম্যাচ করা রেজিএক্সপেক্স প্যাটার্নটি ফিরিয়ে আনতে চাই তা জানতে চাইলে আমি প্রতিটি ফোল্ডার থেকে মালিক সেট করতে বিন্দু এবং স্ল্যাশ ছাড়াই কেবলমাত্র ব্যবহারকারীর নাম পাব।


স্ক্রিপ্টের আর্গুমেন্ট হিসাবে কেবল ফোল্ডারের নামটি কেন পাসওয়ার্ড না করে ফোল্ডারের নাম থেকে এটি ব্যবহারকারীর নামটি বের করা হয়েছে?
বার্মার

উত্তর:


0

findএকটি বাস্তব প্রয়োজন হয়?

আমি এমন কিছু ভাবছি

ls -1d /home/*/www/xpto | awk -F/ '{print "chown",$3":development",$0}'

(আমি ধরে নিচ্ছি যে আপনার ব্যবহারকারীর নামগুলি হোম ফোল্ডারের নামের মতো are)

উপরের কোডের সাহায্যে আপনি সেই আদেশগুলি পাবেন যা আপনি xargsঅস্থায়ী স্ক্রিপ্টের সাথে বা চালাতে পারবেন ।



@ কামিলম্যাসিওরোস্কি সাধারণভাবে আপনি ঠিক বলেছেন তবে আপনি দেখতে পাচ্ছেন যে এটি সাধারণ প্রশ্ন নয় এবং "অ্যাডাব্লিক" কেবল প্রতিটি আদেশই মুদ্রণ করে।
ম্যাক্সচিনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.