انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: pronetin در 21 تیر 1389، 02:12 ب‌ظ

عنوان: عبارت با قاعده برای پیدا کردن کاراکتر ؟
ارسال شده توسط: pronetin در 21 تیر 1389، 02:12 ب‌ظ
سلام

من یک فایل دارم. می خواهم تنها برخی از خطوط اون را در خروجی چاپ کنم. فقط می خوام خطوطی را دریافت کنم که در آن ? نباشد.
وقتی دستور زیر را می زنم جواب نمی دهد:
cat filname | grep [^?]
چگونه باید فقط خطوطی که ? در آن ها نیست را در خروجی نشان دهم؟

محتویات فایل مشابه زیر است:
5975/tcp open     unknown
5976/tcp open     unknown
5977/tcp open     ncd-pref-tcp?
5978/tcp open     ncd-diag-tcp?
5980/tcp open     unknown
عنوان: پاسخ به: عبارت با قاعده برای پیدا کردن کاراکتر ؟
ارسال شده توسط: fzerorubigd در 21 تیر 1389، 07:45 ب‌ظ
این که شما نوشتی یعنی خطهایی رو پیدا کن که توش عبارتی به غیر از ؟ باشه یعنی فقط خطهایی انتخاب نمیشه که فقط و فقط توش علامت سوال باشه، نه اینکه خطهایی که توش علامت سوال نیست.از سوییچ i استفاده کن برای invert match یه چیزی مثل این :
cat filname | grep -v [?]

یه کم گنگ میشه گاهی وقتها ولی خوب زیاد سخت نیست. کتاب
Mastering Regular Expressions, 3rd Edition
By Jeffrey E. F. Friedl
خیلی معرکست :)‌ حیف ترجمه نشده و فکرم نکنم اگه ترجمه شه چیز درستی از آب دربیاد
عنوان: پاسخ به: عبارت با قاعده برای پیدا کردن کاراکتر ؟
ارسال شده توسط: pronetin در 14 امرداد 1389، 03:47 ب‌ظ
متشکرم از رهنمایی تون.

اگر کسی این کتاب را خواست می تواند از لینک زیر آن را دانلود کند.

http://www.mediafire.com/?5fetdafnonn (http://www.mediafire.com/?5fetdafnonn)

عنوان: پاسخ به: عبارت با قاعده برای پیدا کردن کاراکتر ؟
ارسال شده توسط: fzerorubigd در 14 امرداد 1389، 05:04 ب‌ظ
بعید میدونم اینکه شما لینک کردی با قوانین سایت مطابقت داشته باشه. گرچه حقیقت اینه که من خودم هم این کتاب رو غیر قانونی دارم ولی این از اون کتابهاییه که اگه قصد خرید داشته باشم :) میخرم.