انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: Yaser-16 در 17 اسفند 1392، 03:44 بظ
-
سلام
شروع کردم به یاد گرفتن بش اسکریپت و توی یکی دو تا موضوع(فعلا :D) مشکل دارم:
یه فایلی دارم با محتوای:
testttest
اسم فایل رو گذاشتم T
می خوام با grep قسمتی که دو یا بیشتر از دو تا t پشت سر هم اومدن رو مشخص کنه،خوب الگوش می شه یه همچین چیزی:
t{2,}
این الگو توی شرط که بررسی می شه درست کار می کنه ولی با grep نه!
من این رو توی ترمینال می زنم ولی نتیجه درست نداره!
grep "t{2,}" T
کلا هیچ الگویی که توش از کاراکتر های {}+ استاده شده باشه رو قبول نمی کنه!
سوال اول اینه که مشکل کجاست و سوال دوم اینه که این الگو ها چه زمانی باید داخل کوتیشن/دابل کوتیشن و چه زمانی باید بدون کوتیشن باشن؟
مرسی :)
-
man grep
بخش Matcher Selection را بخوانید شاید الگو سازگار با یکی از این گزینه ها باشد
-
egrep 'tt+' filename
دستور egrep توسعه یافته یا همون extended دستور grepهستش و توش + تعریف شده . و معنی + این هست که کارکتر قبلیش حداقل یکبار تکرار شده باشه .
-
واقعا ممنونم از هر دو :)
دستور grep هم اینجوری باید تغییر می کرد:
grep "tt\{2,\}" T
باز هم ممنونم:)