পুনরাবৃত্ত অনুসন্ধান সোলারিসের উপর গ্রেপের পক্ষে কাজ করে না


20

আমাদের সোলারিস সার্ভার উপর আমি যে খুঁজে বের করছি grep -rকাজ না, যা স্বাভাবিক ভাবেই যে আমি ব্যবহার করেন grep। মনে হয় egrepএরও একই আচরণ আছে।

প্রদত্ত যে মেশিনের উপর আমার কোনও নিয়ন্ত্রণ নেই, grepপুনরাবৃত্তি অনুসন্ধান করার কোনও উপায় কি আছে ? বা আমার কি আউটপুটটি পাইপ findকরা দরকার grep?


1
আপনি কি সোলারিস রিলিজ ব্যবহার করছেন?
jlliagre

উত্তর:


4

আমি সোলারিসের সাথে পরিচিত নই, তবে আপনি যদি জিএনইউ / লিনাক্স থেকে সোলারিসে স্যুইচ করেন তবে আপনি বেশিরভাগ কমান্ড কিছুটা ভিন্নভাবে আচরণ করবেন। ইউনিক্স সরঞ্জামগুলির জিএনইউ সংস্করণটিতে "মালিকানাধীন" ইউনিক্সগুলিতে অতিরিক্ত বৈশিষ্ট্য নেই।

আপনি এখানে জিএনইউ গ্রেপ (গুলি) ডাউনলোড করতে পারেন তারপরে সংকলন এবং ইনস্টল করুন।

আপনার যদি রুট অ্যাক্সেস থাকে তবে আপনি কনফিগার করতে পারেন - ਪ੍ਰੀফিক্স = / ইউএসআর / লোকাল এমন যে ইউটিলিটিগুলি / ইউএসআর / লোকাল-তে ইনস্টল করে

আপনার যদি রুট অ্যাক্সেস না থাকে তবে আপনি কনফিগার চালাতে চাইতে পারেন - ਪ੍ਰੀফিক্স = {OME হোম} এমনটি যে ইউটিলিটিগুলি আপনার হোম ডিরেক্টরিতে ইনস্টল করে install


--prefix=${HOME}}/.localসম্ভবত আরও পরামর্শ দেওয়া ... হোম ডিরেক্টরিটি shareএবং libফোল্ডারগুলির সাথে গোলমাল করার দরকার নেই
jpaugh

1
এক ব্যক্তির বিশৃঙ্খল অন্য লোকের সংগঠিত
বিএসডি ২

কোনো সন্দেহ নেই! সত্য, আমি অফ-ডে থেকে সুরক্ষা দিচ্ছি যখন আমি বলি, " share? এটি একটি জাঙ্ক ডিরেক্টরি হতে পারে!" rm -rfডোহ!
jpaugh

31

আপনি যদি ব্যবহার করতে চান findতবে এটি দ্রুততম উপায় হবে:

find . -type f -exec grep pattern {} +

তবে, Gnu গ্রেপ ইতিমধ্যে আপনার মেশিনে ইনস্টল করা আছে।

এটি সোলারিস 11 ইন-এ ডিফল্ট ইনস্টলেশনটির অংশ /usr/gnu/bin/grep। সোলারিস 10 এর জন্য একই যেখানে আপনি এটি খুঁজে পান /usr/sfw/bin/ggrep। পুরানো রিলিজে, এটি সানফ্রিওয়্যার বা অন্যান্য সংগ্রহস্থল, চেক /usr/local/bin/grepএবং /opt/csw/bin/grepসাধারণ জায়গাগুলি থেকে ইনস্টল করা থাকতে পারে ।


আপনি -nameবিকল্পটি ব্যবহার করতে পারেন find
স্লিপিওয়েসেল

@ স্লিপওয়েজেল -nameফাইলগুলির মধ্যে অনুসন্ধান করবে না তবে কেবলমাত্র ফাইলের নাম অনুসন্ধান করবে যা ওপি যা চায় তা নয়।
jlliagre

6

ইনস্টল করা থাকলে পরিবর্তে জিগ্রিপ ব্যবহার করুন ।

উদাহরণস্বরূপ বর্তমান ডিরেক্টরি থেকে সমস্ত উপ-ডিরেক্টরিতে ( -R) এর নীচে "মাইসার্কস্ট্রিং" অনুসন্ধান করুন এবং ম্যাচের জন্য ফাইলের নাম এবং পথ দেখান ( -H) এবং বাইনারি ফাইলগুলি উপেক্ষা করুন ( -I)। *কমান্ডের শেষে ভুলে যাবেন না ।

/usr/sfw/bin/ggrep -H -R -I "mysearchstring" *

ggrep এ অবস্থিত /usr/sfw/bin আপনি এটি একটি এক্সপোর্ট কমান্ডের সাহায্যে আপনার প্রোফাইলে যুক্ত করতে পারেন যাতে আপনি কমান্ড লাইন থেকে সরাসরি এটি কল করতে পারেন।

PATH=$PATH:/usr/sfw/bin
export PATH

সোলারিস সংস্করণ: সানোস 5.10 জেনেরিক_147440-13 সান 4u স্পার্প সানডাব্লু, স্পার্ক-এন্টারপ্রাইজ


1
আমার সিস্টেমে অন্তত ggrepজিএনইউ গ্রেপ। ধন্যবাদ!
jpaugh

3

স্বতন্ত্র ডাউনলোড ackথেকে Perl স্ক্রিপ্ট http://betterthangrep.com/ , আপনার এটা করা $HOME/bin, এবং এর পরিবর্তে এটি ব্যবহার করতে শিখুন। আমি দেখতে পেয়েছি যে এটি আমার প্রতিদিনের উন্নয়নের কাজে অনেকগুলি ব্যবহারের জন্য গ্রেপের চেয়ে ভাল ised


3

সোলারিস গ্রেপের -rবিকল্প নেই।

আপনি নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন।

find . -type f | xargs grep 'sometext'

2
জিএনইউ গ্রেপ সংকলন করতে এবং আপনার বাড়ির ডিরেক্টরিতে এটি কোনও জায়গায় ইনস্টল করতে আপনার "সিস্টেমে নিয়ন্ত্রণ" দরকার নেই।
কিথ থম্পসন

@ কিথথম্পসন এটি উল্লেখ করার জন্য ধন্যবাদ। আমি আমার উত্তর সংশোধন করেছি।
শচীন দিবেকার

নামের প্যাটার্নের সাথে মেলে সমস্ত ফাইলগুলি খুঁজে পেতে এবং ফাইলটির সাথে ফলাফলগুলি প্রদর্শন করতে এটি খুব দরকারী। যেমন find /opt/ -name "*.sh" -type f | xargs grep "start"
Underverse

1

হ্যাঁ, আপনার জিএনইউ গ্রেপ লাগবে। ব্যক্তিগতভাবে আমি "-r" পতাকাটি মিস করি না কারণ আপনি একটি সংমিশ্রণে একই কাজ করতে পারেন findএবং grepএটি মনে করিয়ে দেয় যে আপনার সোলারিস বাক্সে জিএনইউ সরঞ্জাম উপলব্ধ রয়েছে এটিই আমি সেরা অনুশীলনটিকে বিবেচনা করব। সুতরাং আমরা এখানে যেতে:

আমি ইন্টারনেটে বিভিন্ন জায়গা থেকে উত্স কোড ডাউনলোড করে নিজের তৈরি করতে যাব না। এটি প্রয়োজন হয় না। যদি আপনি কেবল নিজের সোলারিসের কাছে সাধারণ জিএনইউ সরঞ্জাম উপলব্ধ থাকতে চান তবে নীচের মতো করুন:

আপনি যদি সোলারিস 10 এ থাকেন তবে আপনার উচিত সোলারিস 10 কম্পেনিয়ান ডিস্ক। এটি সূর্যের দ্বারা বিতরণ করা হত তবে এটি এখন এখানে বাস করে । ব্যক্তিগতভাবে আমি এই ডিস্কের সামগ্রী বা কমপক্ষে সবচেয়ে গুরুত্বপূর্ণ জিএনইউ অংশগুলি ইনস্টল করা সর্বদা একটি অভ্যাস হিসাবে তৈরি করব। আপনার প্রতিষ্ঠানের নতুন সার্ভারগুলির জন্য এটিকে আপনার জাম্পস্টার্টের (বা আপনি যা কিছু ব্যবহার করুন) এর একটি অংশ করুন!

আপনি যদি সোলারিতে থাকেন তবে 11 জীবন অনেক সহজ। জিএনইউ সরঞ্জামগুলি সাধারণত ডিফল্টরূপে ইনস্টল করা থাকে তবে সেগুলি সমস্ত স্থানীয় অঞ্চলে প্রচারিত হয় না। আইএফএস, সোলারিস ১১-এর প্যাকেজিং সিস্টেমটি আপনার জীবনকে অনেক সহজ করে তুলেছে যাতে আপনার সত্যই সোলারিস ১১-এ চলে যেতে পারে (অন্যান্য অনেকগুলি কারণও)। প্যাকেজগুলির তালিকা যা আপনার সর্বদা যে কোনও অঞ্চলের জন্য উপলব্ধ থাকতে হবে তা বিবেচনা করা উচিত:

pkg: // Solaris / আর্কাইভার / GNU-আলকাতরা
pkg: // Solaris / ডেভেলপার / GNU-binutils
pkg: // Solaris / ডায়গনিস্টিক / শীর্ষ
pkg: // Solaris / ফাইল / GNU-coreutils
pkg: // Solaris / ফাইল / GNU-findutils
pkg: // Solaris / টেক্সট / গোবরগনেশ
pkg: // Solaris / টেক্সট / GNU-diffutils
pkg: // Solaris / টেক্সট / GNU-, grep
pkg: // Solaris / টেক্সট / GNU-sed

এবং আপনি যদি বিকাশ / নির্মাণের উদ্দেশ্যে হোস্টটি ব্যবহার করেন তবে আপনি যুক্ত করতে চাইতে পারেন:

pkg: // Solaris / ডেভেলপার / বিল্ড / GNU-মেক
pkg: // Solaris / ডেভেলপার / বিল্ড / করতে
pkg: // Solaris / ডেভেলপার / জিসিসি-45
pkg: // Solaris / সিস্টেম / হেডার
pkg: // Solaris / ডেভেলপার / বিল্ড / autoconf
pkg: // Solaris / ডেভেলপার / বিল্ড / automake -110

ব্যক্তিগতভাবে আমি নতুন সার্ভার / অঞ্চলগুলির জন্য আমার সংস্থার ডিফল্ট ইনস্টলটির উপরেরগুলি (সম্ভাব্য কম দেব সরঞ্জামগুলি) তৈরি করব। সোলারিস সিসাদমিনগুলি প্রায়শই লিনাক্স ওয়ার্ল্ড থেকে পৃথক হওয়ার জন্য জোর দিয়ে থাকে তবে আসলে এর দরকার নেই। কেবল এটি করুন এবং এটি আপনার ডিফল্ট ইনস্টলের অংশ করুন। আপনি আফসোস করবেন না।


আমি নিশ্চিত যে আপনি যে অংশটি আমি বলেছিলাম 'মেশিনের উপর আমার কোনও নিয়ন্ত্রণ নেই ...' এমনটি পড়লে আমি নিশ্চিত নই তবে আমি নিশ্চিত যে এটি কারও কাছে দরকারী তথ্য, তবে আমি যে প্রশ্নের জিজ্ঞাসা করেছি তার উত্তর খুব কমই ছিল ।
এরিক উইলসন

এটি আপনার সিসাদমিনের জন্য তথ্য। তিনি আপনাকে একটি পঙ্গু মেশিন আইএমএইচও দিয়েছেন। এই জিনিসগুলি ডিফল্টরূপে ইনস্টল করা উচিত। তবে হ্যাঁ, আপনি ঠিক বলেছেন, তথ্যটি সম্ভবত অন্যদের জন্য ঠিক তেমন উদ্দেশ্যে করা হয়েছিল যারা এই জায়গায় এসে আপনার প্রশ্নটি পড়ে। আজ আপনি জিএনইউ গ্রেপ অনুপস্থিত, আগামীকাল আপনি জিএনইউ টর প্রভৃতি হারিয়ে যাবেন, আপনি এখনও এটি জানেন না। :-)
পিটার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.