উবুন্টুতে "1" দিয়ে শুরু হওয়া গ্রেপ লাইনগুলি


46

"1" ব্যবহার করে শুরু হওয়া লাইনগুলি অনুসন্ধান করার চেষ্টা করি

ls -1 | grep ^1*

তবে এটি এমন রেখাগুলি ফিরে আসে যা ১ দিয়ে শুরু হয় না I আমি এখানে কী মিস করছি?


অন্য একটি নোট: আপনি যদি lsআউটপুট সীমাবদ্ধ করতে গ্রেপ ব্যবহার করতে চান তবে ফাইলনেমে কিছু অদ্ভুত অক্ষর যেমন নিউলাইনস থাকে ... আপনি আরও অনেকগুলি কমান্ড (কোনওভাবে না ls, অন্তত আমার যে সংস্করণটি পরীক্ষা করতে হবে তা নয়) নাল পৃথক আউটপুট দেওয়ার একটি বিকল্প রয়েছে যা আপনি তারপরে নিরাপদে প্রক্রিয়া করতে পারবেনgrep -z
জার্ট ভ্যান ড্যান বার্গ

ধন্যবাদ, @ জার্মটভান্ডেনবার্গ! নিউলাইনগুলির মতো কিছু অদ্ভুত চরিত্রগুলি গ্রেপ হওয়ার কারণ হতে পারে? কমান্ডগুলি নালকে পৃথক আউটপুট দেয়?
টিম

1
-প্রিন্ট 0 দিয়ে সন্ধান করুন, বেশিরভাগ অন্যান্য জিএনইউ সরঞ্জামটিতে একটি -0 বা -z বিকল্প রয়েছে। (বাছাই, xargs, ইত্যাদি)। ফাইলনামগুলিতে যদি নতুন লাইন থাকে তবে দুটি লাইন একটি নতুন নাম বা দুটি পৃথক পৃথক ফাইলের নাম যুক্ত ফাইলের নাম কিনা তা জানা সম্ভব নয়।
গার্ট ভ্যান ডেন বার্গ

উত্তর:


67

আপনার নিয়মিত প্রকাশের অর্থ আপনি যা ভাবেন তা বোঝায় না। এটি এক (1) বারবার শূন্য বা তার বেশি (*) বারের সাথে (^) শুরু হওয়া সমস্ত রেখার সাথে মেলে। সমস্ত স্ট্রিং সেই নিয়মিত অভিব্যক্তির সাথে মেলে। grep '^1'আপনি যা চান তা করে


33

আপনি কি নিম্নলিখিত চেষ্টা করেছেন?

 ls -1 | grep "^1"

এটি, মুছে ফেলুন *, যা মূলত বলে grep, ^1অভিব্যক্তির শূন্য বা আরও ঘটনা খুঁজে বের করে। অন্য কথায়: 1 দিয়ে শুরু হওয়া লাইনগুলি মেলে বা না not


13

যদিও এটি আপনার প্রশ্নের উত্তর দেয় না, এটি আপনার লক্ষ্য হিসাবে উপস্থিত বলে মনে হয় এটির একটি আরও ভাল সমাধান:

ls -ld 1*

শুরু হওয়া সমস্ত ফাইলের তালিকাতে আপনি শেল গ্লোব ব্যবহার করতে পারেন 1। নোট করুন যে *নিয়মিত এক্সপ্রেশন চেয়ে শেল গ্লোববিং এর একটি পৃথক অর্থ আছে।


ধন্যবাদ! +1 টি। শেল গ্লোব্বিং এবং নিয়মিত প্রকাশে কীভাবে * এর আলাদা অর্থ রয়েছে?
টিম

2
একটি শেল উল্লিখিত glob * একটি ওয়াইল্ড কার্ড যার অর্থ "0 বা তার থেকে বেশি হয় কোনো চরিত্র"। রেজেক্স অর্থ ওটোকানের উত্তরে ব্যাখ্যা করা হয়েছে।
jordanm

3

^ 1. * পুরো লাইনটির সাথে মেলে, বা ঠিক যেমন উপরে বলা হয়েছে, ^ 1 লাইনে থাকা স্ট্রিংটি পেয়েছে।

রেজেক্সের বিভিন্ন স্টাইল চরগুলি উপস্থাপন করে বিভিন্ন প্রতীক ব্যবহার করে, কিছু বিকল্প আপনি কোন স্টাইলটি চান তা নির্দিষ্ট করে। এবং বিভিন্ন বিকল্পগুলি আপনাকে উল্লেখ করে যে আপনি পুরো লাইনটি, বা এর কিছু অংশ, বা পুরো ইনপুটটিকে একটি স্ট্রিং হিসাবে মিল করতে চান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.