গ্রা্যাপে নতুন লাইনের জন্য একটি প্যাটার্ন কীভাবে দেওয়া যায়? শুরুতে নতুন লাইন, শেষে নতুন লাইন। নিয়মিত প্রকাশের উপায় নয়। Like n এর মতো কিছু।
$। এটি কিছুটা সীমাবদ্ধ, তবে সাধারণ ক্ষেত্রে ব্যবহারযোগ্য।
গ্রা্যাপে নতুন লাইনের জন্য একটি প্যাটার্ন কীভাবে দেওয়া যায়? শুরুতে নতুন লাইন, শেষে নতুন লাইন। নিয়মিত প্রকাশের উপায় নয়। Like n এর মতো কিছু।
$। এটি কিছুটা সীমাবদ্ধ, তবে সাধারণ ক্ষেত্রে ব্যবহারযোগ্য।
উত্তর:
grep নিদর্শনগুলি পৃথক লাইনের বিপরীতে মিলছে তাই কোনও ইনপুটটিতে পাওয়া একটি নতুন লাইনের সাথে কোনও প্যাটার্ন মিলানোর কোনও উপায় নেই।
তবে আপনি খালি লাইন এটি পেতে পারেন:
grep '^$' file
grep '^[[:space:]]*$' file # include white spaces
pcregrepনিয়মিত পরিবর্তে চেষ্টা করুন grep:
pcregrep -M "pattern1.*\n.*pattern2" filename
-Mবিকল্প এটা, একাধিক লাইন জুড়ে মেলে যাতে আপনি যেমন নতুন লাইন জন্য অনুসন্ধান করতে পারেন \n।
আপনি এইভাবে ব্যবহার করতে পারেন ...
grep -P '^\s$' file
-Pপার্ল নিয়মিত এক্সপ্রেশন (POSIX- এ একটি এক্সটেনশন grep) জন্য ব্যবহৃত হয়।\sসাদা স্থান অক্ষরের সাথে মেলে; যদি এটি অনুসরণ করে *, এটি একটি খালি লাইনের সাথেও মেলে।^লাইনের শুরুতে মেলে। $লাইনের শেষের সাথে মেলে। -Pএকটি জিএনইউ এক্সটেনশন। পরিস্থিতি যখন এটির জন্য আহ্বান করে তখন আমি এটি ব্যবহারের জন্য ভাল (সাধারণত চেহারা / চেহারা), তবে পসিক্স গ্রেপ এটি দিয়ে কেবল ফাইলটি করতে পারে [[:space:]]।
-P। জিএনইউ যাই হোক বেশ মানসম্পন্ন। :)
brew install grepজিএনইউ গ্রেপ পেতে চাইবেন , যা বিভিন্ন উপায়ে উন্নত। আপেল.স্ট্যাকেক্সেঞ্জাওয়েজ.কমিশনস
@ জার্নোকে ধন্যবাদ আমি -z বিকল্প সম্পর্কে জানি এবং আমি জানতে পেরেছিলাম যে -N বিকল্পের সাথে জিএনইউ গ্রেপ ব্যবহার করার সময় এর সাথে মিল \nপাওয়া সম্ভব । :)
উদাহরণ:
grep -zoP 'foo\n\K.*'<<<$'foo\nbar'
প্রিন্ট bar
যেমন কাজের মতো (অ-পোর্টেবল ব্যবহার না করে -P), আপনি অস্থায়ীভাবে ভিন্ন একটিতে একটি নতুন-লাইন অক্ষর প্রতিস্থাপন করতে পারেন এবং এটি আবার পরিবর্তন করতে পারেন, যেমন:
grep -o "_foo_" <(paste -sd_ file) | tr -d '_'
মূলত এটি সঠিক মিলের সন্ধান করছে _foo_যেখানে _মানে \n(তাই __= \n\n)। আপনাকে এটিকে আবার অনুবাদ করতে হবে না tr '_' '\n', কারণ প্রতিটি প্যাটার্ন যেভাবেই নতুন লাইনে মুদ্রিত হবে, সুতরাং অপসারণই _যথেষ্ট।
<(p paste -sd_ file )?
new line at the beginningএকটি ফাঁকা লাইন এবংnew line at endফাইলের প্রতিটি লাইনে প্রযোজ্য। আপনি একটি উদাহরণ পোস্ট করতে পারেন?