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

کمک و پشتیبانی => انجمن عمومی => نویسنده: agape در 24 بهمن 1393، 01:45 ب‌ظ

عنوان: خارج کردن لینک از صفحه وب
ارسال شده توسط: agape در 24 بهمن 1393، 01:45 ب‌ظ
با سلام من میخوام یه سری لینک از صفحه وب خارج کنم از grep برای فیلتر کردن استفاده میکنم

برای این منظور از شکل زیر از grep استفاده میکنم

| grep -oie "\(/forum/dl.php?server\).*\.\(7z\|zip\|rar\)" | sort | uniq


تا حدود زیادی خوب کار میکنه ولی مشکل اینه که وقتی مثلا لینکی به شکل زیر باشه درست کار نمیکنه
<p><a href="http://demo.ir/test.7z"> test.7z </a></p>

خروجیش مثل زیر خواهد شد

http://demo.ir/test.7z"> test.7zحالا بع نظر شما کد رو چطور اصلاح کنم که خروجی درست بگیرم
عنوان: پاسخ : خارج کردن لینک از صفحه وب
ارسال شده توسط: Ghost Shadow در 24 بهمن 1393، 03:30 ب‌ظ
اینا رو ببین:
http://forum.ubuntu.ir/index.php?topic=45672.0
http://forum.ubuntu.ir/index.php/topic,109197.msg884272.html#msg884272
عنوان: پاسخ : خارج کردن لینک از صفحه وب
ارسال شده توسط: دانیال بهزادی در 24 بهمن 1393، 03:52 ب‌ظ
$ mech-dump --links FILE
عنوان: پاسخ : خارج کردن لینک از صفحه وب
ارسال شده توسط: محسن صفری در 24 بهمن 1393، 05:20 ب‌ظ
کدی که نوشتید روی مثالتون اصلا کار نخواهد کرد . شاید اینجا اشتباه وارد کردید . کد شما اینه :

| grep -oie "\(/forum/dl.php?server\).*\.\(7z\|zip\|rar\)" | sort | uniq

که با | شروع می شه !

ولی به طور کلی این نکته را در نظر داشته باشید که عبارتهای منظم حریص هستند و سعی می کنند تا با بزرگترین رشته ای که پیدا می کنن match بشن . با خروجی که برنامه تون می ده می شه حدس زد که باید توی عبارت منظم تون بعد از 7z یک " قرار دهید .

نسخه ساده :

$ echo '<p><a href="http://demo.ir/test.7z"> test.7z </a></p>' | grep -oie '".*7z"'