একক উদ্ধৃতি দিয়ে পাঠ্যগুলি অনুসন্ধান করতে গ্রেপ ব্যবহার করছেন?


14

আমি উবুন্টু 12.04 এ এমবেডেড টার্মিনাল সহ জিডিট টেক্সট এডিটরটি ব্যবহার করছি। আমি কিছু পাঠ্য ব্যবহার করে অনুসন্ধান করার চেষ্টা করছি grep। আমি কোডের এই লাইনটি অনুসন্ধান করতে চাই

'type' => 'select'

আমি চেষ্টা করেছিলাম:

grep -r '\'type\' => \'select\''

কিন্তু grepকোনও ফল দেয়নি।

তাহলে কেউ দয়া করে আমাকে কীভাবে উপরের কোডটি সন্ধান করবেন?

উত্তর:


17

ডাবল উদ্ধৃতি সহ আপনার অনুসন্ধান স্ট্রিংকে ঘিরে:

grep "'type' => 'select'"

7

আপনি একক উদ্ধৃতিতে প্রদর্শিত একক উদ্ধৃতি এড়াতে পারবেন না। [বাশ ম্যানুয়াল] এ যেমন ব্যাখ্যা করা হয়েছে :( http://www.gnu.org/software/bash/manual/bashref.html#Single-Quotes ):

একক উদ্ধৃতি ('' ') এর মধ্যে অক্ষরগুলি বদ্ধ করা প্রতিটি উদ্ধৃতিগুলির মধ্যে আক্ষরিক মান সংরক্ষণ করে। ব্যাকস্ল্যাশ এর আগেও, একক উদ্ধৃতিগুলির মধ্যে একক উদ্ধৃতি নাও উপস্থিত হতে পারে

সুতরাং, আপনাকে বিভিন্ন পদ্ধতি ব্যবহার করতে হবে:

  1. ডাবল উদ্ধৃতি ব্যবহার করুন:

    grep  "'type' => 'select'" file 
    
  2. আপনি অযথা জটিল সমাধান পছন্দ করেন:

    grep  "'"type"'"\ =\>\ "'"select"'" file 
    
  3. আপনি সর্বদা একক উদ্ধৃতি উল্লেখ না করে যে কোনও একক অক্ষরের সন্ধান করতে পারেন:

    grep  '.type. => .select.' file 
    

তবে কেবল ব্যবহার করুন ", এটি জিনিসগুলিকে আরও সোজা করে তোলে।


স্ট্রিংটি আমি অনুসন্ধান করছি যদি কোনও পিএইচপি ফাইলের মধ্যে থাকে এবং ভেরিয়েবলগুলি থাকে? আমি সত্যিই এই এক সঙ্গে সংগ্রাম।
অউব্রে রবার্টসন

@ অব্রে রবার্টসন আমাকে সঠিকভাবে উত্তর দেওয়ার জন্য একটি উদাহরণ প্রয়োজন। আপনি যদি স্ট্রিংয়ের মতো কিছু সন্ধান করতে চান তবে আপনি একক উদ্ধৃতিতে $varকরতে পারেন grep '$var' file.php। আরও বিশদের জন্য, দয়া করে একটি নতুন প্রশ্ন পোস্ট করুন এবং আমাকে এখানে একটি মন্তব্য দিন। আমি সাহায্য করতে পেরে খুশি হব
টেরডন

আমি এটি বের করেছিলাম। এটি ডলারের চিহ্ন নয় যা আমার গ্রেপকে ঘিরে ধরেছিল, এটি অ্যারে রেফারেন্স (বর্গাকার বন্ধনী) ছিল কারণ গ্রেপ রিজেেক্সের জন্য তাদের ব্যবহার করে। এই লাইনটি আমি গ্রেপ করার চেষ্টা করছিলাম: $output = $info['function']($variables); ডাবল ব্যাকস্ল্যাশ দিয়ে আমাকে কেবল সেগুলি থেকে সঠিকভাবে পালাতে হয়েছিল। সব বলার পরে করার পরেও এটি আমার গ্রেপ কমান্ড:targetstring="\$output = \$info\\['function'\\](\$variables);" targetlinenumber=`grep -n "$targetfile" -e "$targetstring" | cut -d :f 1`
অউব্রে রবার্টসন

1

আপনার .txt ফাইল রয়েছে এমন ডিরেক্টরিতে সিডি করুন

cd /path 

তারপরে:

তুমি ব্যবহার করতে পার grep "'type' => 'select'" name.txt

বা:

`grep "'type' => 'select'" /path/file.txt

আউটপুট:

এখানে চিত্র বর্ণনা লিখুন


3
প্রশ্নটি কেবল একক উদ্ধৃতি সম্পর্কিত, ডিরেক্টরি কাঠামো বা grepঅন্য কোনও (সামান্য অপ্রাসঙ্গিক) কার্যকারিতা নয়।
ক্রিস

@ ক্রিস, প্রকৃতপক্ষে, -rবিকল্প হিসাবে (যেমন ওপি লিখেছেন), ফাইলের নামটি প্রয়োজনীয় নয়।
ব্র্যাডি ট্রেনার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.