Ø³ÙØ§ - غابة اÙÙ Ø¹Ù ÙØ±Ø© ØªÙØ§Ø¬Ù خطر Ø§ÙØ§Ùدثار
فہرست کا خانہ:
- گریپ کمانڈ ترکیب
- فائلوں میں اسٹرنگ کی تلاش میں
grepکا استعمال کیسے کریں - الٹا میچ (خارج)
- کمانڈ آؤٹ پٹ میں اسٹرنگ کی تلاش میں گریپ کا استعمال کیسے کریں
- پنراورتی تلاش
- صرف فائل کا نام دکھائیں
- کیس غیر حساس تلاش کریں
- مکمل الفاظ کی تلاش کریں
- لائن نمبر دکھائیں
- میچ گنیں
- متعدد اسٹرنگ (پیٹرن) کے لئے تلاش کریں
- پرسکون وضع
- بنیادی باقاعدہ اظہار
- توسیعی باقاعدہ تاثرات
- میچ سے پہلے لائنز پرنٹ کریں
- میچ کے بعد لائنز پرنٹ کریں
- نتیجہ اخذ کرنا
لینکس میں سب سے زیادہ طاقتور اور عام طور پر استعمال ہونے والی کمانڈوں میں سے ایک
grep
کمانڈ جو "عالمی باقاعدہ اظہار پرنٹ" کے لئے کھڑا ہے۔
گریپ ان لائنوں کیلئے ایک یا زیادہ ان پٹ فائلوں کی تلاش کرتی ہے جو کسی نمونہ سے مماثل ہوتی ہیں اور ہر مماثل لائن کو معیاری آؤٹ پٹ پر لکھ دیتی ہیں۔ اگر کسی فائل کی وضاحت نہیں کی جاتی ہے تو ،
grep
معیاری ان پٹ سے پڑھتا ہے ، جو عام طور پر کسی اور کمانڈ کا نتیجہ ہوتا ہے۔
اس ٹیوٹوریل میں ، ہم آپ کو عملی مثالوں کے ذریعہ
grep
کمانڈ کو کس طرح استعمال کریں گے اور جی این یو کے عام طور پر عام اختیارات کے بارے میں تفصیلی وضاحت کے ذریعے آپ کو دکھائیں گے۔
گریپ کمانڈ ترکیب
grep
کمانڈ کو کس طرح استعمال کریں اس میں جانے سے پہلے ، آئیے بنیادی نحو کا جائزہ لے کر شروع کریں۔
grep
یوٹیلٹی اظہارات مندرجہ ذیل شکل اختیار کرتے ہیں:
grep PATTERN
مربع بریکٹ میں آئٹمز اختیاری ہیں۔
-
OPTIONS- زیرو یا اس سے زیادہ اختیارات۔ گریپ بہت سارے اختیارات مہیا کرتا ہے جو اس کے طرز عمل کو کنٹرول کرتے ہیں۔PATTERN- تلاش کا نمونہ۔FILE- زیرو یا زیادہ ان پٹ فائل کے نام۔
فائل کو تلاش کرنے کے قابل ہونے کے ل the ، کمانڈ چلانے والے صارف کے پاس فائل تک پڑھنا ضروری ہے۔
فائلوں میں اسٹرنگ کی تلاش میں
grep
کا استعمال کیسے کریں
grep
کمانڈ کا سب سے بنیادی استعمال کسی فائل میں اسٹرنگ (ٹیکسٹ) تلاش کرنا ہے۔
مثال کے طور پر ،
/etc/passwd
فائل کی لائنوں کو ڈسپلے کرنے کے لئے ، جس میں سٹرنگ
bash
آپ درج ذیل کمانڈ استعمال کرسکتے ہیں۔
grep bash /etc/passwd
آؤٹ پٹ کو کچھ اس طرح نظر آنا چاہئے:
root:x:0:0:root:/root:/bin/bash linuxize:x:1000:1000:linuxize:/home/linuxize:/bin/bash
اگر اسٹرنگ میں خالی جگہیں شامل ہیں تو ، آپ کو اسے ایک یا دوہرے حوالوں سے منسلک کرنے کی ضرورت ہے:
grep "Gnome Display Manager" /etc/passwd
الٹا میچ (خارج)
ان لائنوں کو ظاہر کرنے کے لئے جو نمونہ سے مماثل نہیں ہیں ،
-v
(یا
--invert-match
) آپشن کا استعمال کریں۔
مثال کے طور پر
/etc/passwd
فائل کی لائنوں کو ڈسپلے کرنے کے لئے جس میں سٹرنگ
nologin
نہیں ہوتا ہے آپ درج ذیل کمانڈ استعمال کرسکتے ہیں:
grep -v nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash colord:x:124:124::/var/lib/colord:/bin/false git:x:994:994:git daemon user:/:/usr/bin/git-shell linuxize:x:1000:1000:linuxize:/home/linuxize:/bin/bash
کمانڈ آؤٹ پٹ میں اسٹرنگ کی تلاش میں گریپ کا استعمال کیسے کریں
ان پٹ فائلوں کی وضاحت کرنے کے بجائے ، آپ کسی اور کمانڈ کی آؤٹ پٹ کو
grep
پائپ کرسکتے ہیں ، اور پھر صرف دیئے گئے نمونے سے ملنے والی لائنیں ظاہر کرسکتے ہیں۔
مثال کے طور پر ، یہ جاننے کے ل your کہ آپ کے سسٹم پر کن کن عملوں کو چل رہا ہے بطور صارف
www-data
آپ مندرجہ ذیل
ps
کمانڈ استعمال کرسکتے ہیں۔
ps -ef | grep www-data
www-data 18247 12675 4 16:00 ? 00:00:00 php-fpm: pool www root 18272 17714 0 16:00 pts/0 00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn www-data www-data 31147 12770 0 Oct22 ? 00:05:51 nginx: worker process www-data 31148 12770 0 Oct22 ? 00:00:00 nginx: cache manager process
آپ آن کمانڈ میں ایک سے زیادہ پائپوں کو بھی زنجیر بنا سکتے ہیں۔ جیسا کہ آپ اوپر آؤٹ پٹ میں دیکھ سکتے ہیں کہ ایک لائن بھی ہے جس میں
grep
پروسیس شامل ہے۔ اگر آپ نہیں چاہتے ہیں کہ اس لائن کو دکھایا جائے تو ذیل میں دکھائے جانے والے آؤٹ پٹ کو کسی اور
grep
مثال میں منتقل کریں۔
ps -ef | grep www-data | grep -v grep
www-data 18247 12675 4 16:00 ? 00:00:00 php-fpm: pool www root 18272 17714 0 16:00 pts/0 00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn www-data www-data 31147 12770 0 Oct22 ? 00:05:51 nginx: worker process www-data 31148 12770 0 Oct22 ? 00:00:00 nginx: cache manager process
پنراورتی تلاش
ایک پیٹرن کو بار بار ڈھونڈنے کے لئے ،
-r
آپشن (یا
--recursive
) استعمال کریں۔ اس سے مخصوص ڈائریکٹری میں موجود تمام فائلوں کو تلاش کیا جا، گا ، اور ان متناسب علامتوں کو چھوڑ دیا جائے گا جن کا بار بار سامنا کرنا پڑتا ہے۔ تمام علامتی روابط کی پیروی کرنے کے لئے ،
-R
آپشن (یا
--dereference-recursive
) کا استعمال کریں۔
مندرجہ ذیل مثال میں ہم
/etc
ڈائریکٹری میں موجود تمام فائلوں میں اسٹرنگ
linuxize.com
تلاش کر رہے ہیں۔
grep -r linuxize.com /etc
کمانڈ فائل کے پورے راستے سے ماقبل مماثل لائنوں کو پرنٹ کرے گی۔
/etc/hosts:127.0.0.1 node2.linuxize.com /etc/nginx/sites-available/linuxize.com: server_name linuxize.com www.linuxize.com;
اگر اس کی بجائے
-r
استعمال کرتے ہیں
-R
آپشن
grep
تمام علامتی روابط کی پیروی کرے گا:
grep -R linuxize.com /etc
آؤٹ پٹ کی آخری لائن دیکھیں۔ مذکورہ بالا مثال میں وہ لائن نہیں چھاپی گئی ہے کیونکہ نجنکس کی
sites-enabled
ڈائرکٹری کے اندر موجود فائلیں
sites-available
ڈائرکٹری کے اندر موجود فائلوں کو ترتیب دینے کی علامت
sites-available
۔
/etc/hosts:127.0.0.1 node2.linuxize.com /etc/nginx/sites-available/linuxize.com: server_name linuxize.com www.linuxize.com; /etc/nginx/sites-enabled/linuxize.com: server_name linuxize.com www.linuxize.com;
صرف فائل کا نام دکھائیں
ڈیفالٹ
grep
آؤٹ پٹ کو دبانے اور مماثل پیٹرن والی فائلوں کے ناموں کو پرنٹ کرنے کے
--files-with-matches
، آپ
-l
(یا
--files-with-matches
) آپشن استعمال کرسکتے ہیں۔
مثال کے طور پر موجودہ ورکنگ ڈائرکٹری میں
.conf
ساتھ ختم ہونے والی تمام فائلوں کو
linuxize.com
نام صرف پرنٹ کرنا جو
linuxize.com
ٹائپ پر مشتمل ہے:
grep -l linuxize.com *.conf
آؤٹ پٹ کچھ اس طرح نظر آئے گی:
tmux.conf haproxy.conf
-l
آپشن عام طور پر
-l
کرنے والے آپشن کے ساتھ مل کر استعمال ہوتا ہے۔
کیس غیر حساس تلاش کریں
ڈیفالٹ کے مطابق ،
grep
کمانڈ معاملہ حساس ہے۔ اس کا مطلب یہ ہے کہ بڑے اور چھوٹے حرفوں کو الگ الگ سمجھا جاتا ہے۔
تلاش کرتے وقت کیس کو نظر انداز کرنے کے لئے ،
-i
آپشن (یا
--ignore-case
) استعمال کریں۔
مثال کے طور پر ، جب کسی اختیار کے بغیر
Zebra
تلاش کرتے وقت ، مندرجہ ذیل کمانڈ میں کوئی آؤٹ پٹ نہیں دکھائے گا یعنی ملاپ والی لائنیں ہیں:
grep Zebra /usr/share/words
لیکن اگر آپ
-i
آپشن کا استعمال کرکے کیس غیر حساس تلاش کرتے ہیں تو ، یہ اوپری اور لوئر دونوں حروف سے مماثل ہوگا:
grep -i Zebra /usr/share/words
"زیبرا" کی وضاحت کرنا اس سلسلے کے لئے "زیبرا" ، "زیبرا" یا اپر اور لوئر کیس خط کے کسی دوسرے مجموعہ سے مماثل ہوگا۔
مکمل الفاظ کی تلاش کریں
"gnu" کی تلاش کرتے وقت ،
grep
ان لائنوں کو بھی
grep
گا جہاں "gnu" بڑے الفاظ میں سرایت کیا جاتا ہے ، جیسے "سگناس" یا "میگنم"۔
grep gnu /usr/share/words
cygnus gnu interregnum lgnu9d lignum magnum magnuson sphagnum wingnut
صرف ان لائنوں کو واپس کرنے کے لئے جہاں مخصوص تار پوری لفظ ہے (غیر
--word-regexp
سے منسلک) ،
-w
(یا
--word-regexp
) آپشن کا استعمال کریں۔
az
،
AZ
اور
0-9
) اور انڈر سکور (
_
) شامل ہیں۔ دوسرے تمام کرداروں کو غیر لفظی حرف سمجھا جاتا ہے۔
grep -w gnu /usr/share/words
لائن نمبر دکھائیں
ان لائنوں کی تعداد ظاہر کرنے کے لئے جن میں ایک تار شامل ہے جو ایک نمونہ سے میل کھاتا ہے ،
-n
(یا
--line-number
) آپشن کا استعمال کریں۔ جب یہ آپشن استعمال کریں گے تو ،
grep
میچ کو اس لائن نمبر کے ساتھ ماقبل معیاری آؤٹ پٹ پرنٹ کرے گا جس پر اس کا نمبر ملا تھا۔
مثال کے طور پر ، ملاوٹ لائن نمبر کے ساتھ صیغہ شدہ اسٹرنگ
bash
پر مشتمل
/etc/services
فائل سے لائنوں کو ظاہر کرنے کے لئے آپ مندرجہ ذیل کمانڈ استعمال کرسکتے ہیں:
grep -n 10000 /etc/services
ذیل میں آؤٹ پٹ ہمیں دکھاتی ہے کہ میچ 10423 اور 10424 لائنوں پر پائے جاتے ہیں۔
10423:ndmp 10000/tcp 10424:ndmp 10000/udp
میچ گنیں
معیاری آؤٹ پٹ کے لئے مماثل لائنوں کی گنتی کو پرنٹ کرنے کے لئے ،
-c
(یا
--count
) آپشن کا استعمال کریں۔
ذیل کی مثال میں ، ہم ان اکاؤنٹوں کی تعداد گن رہے ہیں جن میں
/usr/bin/zsh
کے بطور شیل شامل ہیں۔
grep -c '/usr/bin/zsh' /etc/passwd
متعدد اسٹرنگ (پیٹرن) کے لئے تلاش کریں
OR آپریٹر کا استعمال کرتے ہوئے دو یا زیادہ تلاش کے نمونوں میں شامل ہوسکتے ہیں.
ڈیفالٹ کے ذریعہ ،
grep
اس نمونہ کی بنیادی باقاعدہ اظہار کی ترجمانی کرتا ہے جہاں میٹا-حروف جیسے
|
اپنا خاص معنی کھو دیں ، اور ان کی پچھلے حصوں کو استعمال کرنا چاہئے۔
ذیل کی مثال میں ہم نگینکس لاگ انر فائل میں
fatal
،
error
اور
critical
الفاظ کے تمام واقعات تلاش کر رہے ہیں۔
grep 'fatal\|error\|critical' /var/log/nginx/error.log
grep -E 'fatal|error|critical' /var/log/nginx/error.log
پرسکون وضع
--quiet
(یا
--quiet
)
--quiet
کو ٹرمینل (معیاری آؤٹ پٹ) پر کچھ نہ لکھنے کے لئے کہتا ہے۔ اگر کوئی میچ مل جاتا ہے تو ، کمانڈ کی حیثیت
0
ساتھ باہر آجائے گی۔ یہ کارآمد ہے جب شیل اسکرپٹس میں
grep
کا استعمال کرتے ہوئے جہاں آپ یہ چیک کرنا چاہتے ہیں کہ آیا فائل میں اسٹرنگ موجود ہے یا نہیں اور اس کے نتیجے پر منحصر ہے کہ کوئی خاص عمل انجام دے۔
if
بیان میں ٹیسٹ کمانڈ کے بطور پرسکون وضع میں
grep
کو استعمال کرنے کی ایک مثال یہ ہے:
if grep -q PATTERN filename then echo pattern found else echo pattern not found fi
بنیادی باقاعدہ اظہار
GNU Grep میں دو باقاعدہ اظہار نمایاں سیٹ ہیں ، بنیادی اور توسیعی۔ ڈیفالٹ کے ذریعہ ،
grep
بنیادی باقاعدہ اظہار کے طور پر پیٹرن کی ترجمانی کرتا ہے۔
جب بنیادی باقاعدگی سے اظہار رائے کے موڈ میں استعمال ہوتا ہے تو ، میٹا حرفوں کے سوا باقی تمام حرف دراصل باقاعدگی سے اظہار ہوتے ہیں جو خود سے ملتے ہیں۔ ذیل میں عام طور پر استعمال ہونے والے میٹا کرداروں کی ایک فہرست ہے۔
-
لکیر کے آغاز میں اظہار کے مطابق میچ کیلئے
^(کیریٹ) کا نشان استعمال کریں۔ مندرجہ ذیل مثال میں ، تار the^kangarooصرف اس صورت میں مماثل ہوگی جب یہ لائن کے بالکل شروع میں واقع ہو۔grep "^kangaroo" file.txtکسی لکیر کے آخر میں اظہار کے ساتھ میچ کرنے کے لئے
$(ڈالر) کی علامت کا استعمال کریں۔ مندرجہ ذیل مثال میں ، تارkangaroo$only صرف اس صورت میں مماثل ہوگی جب یہ لائن کے بالکل آخر میں واقع ہو۔grep "kangaroo$" file.txtاستعمال کریں
.(مدت) علامت کسی ایک حرف سے ملنے کے لئے۔ مثال کے طور پر ،kanشروع ہونے والی کسی بھی چیز سے میچ کرنے کے لئے اس کے دو حرف ہوتے ہیں اور اسٹرنگrooختم ہوتے ہیں ، آپ مندرجہ ذیل نمونہ استعمال کرسکتے ہیں۔grep "kan..roo" file.txtاستعمال کریں
(بریکٹ) بریکٹ میں منسلک کسی ایک حرف سے ملنے کے لئے۔ مثال کے طور پر ، ان لائنوں کو تلاش کریں جن میںacceptیا "accent، آپ مندرجہ ذیل نمونہ استعمال کرسکتے ہیں:grep "accet" file.txtاستعمال کریں
(بریکٹ) بریکٹ میں منسلک کسی ایک حرف سے ملنے کے لئے۔ مندرجہ ذیل نمونہco(any_letter_except_l)a، جیسےcoca،cobaltاور اسی طرح کے تاروں کے کسی بھی مجموعہ سے میل کھاتا ہے ، لیکنcolaپر مشتمل لائنوں سے میل نہیں کھاتا ہے ،grep "coa" file.txt
اگلے کردار کے خاص معنی سے بچنے کے ل
\
، bac (بیک سلیش) علامت استعمال کریں۔
توسیعی باقاعدہ تاثرات
توسیعی باقاعدہ اظہار کی حیثیت سے اس نمونہ کی ترجمانی کرنے کے لئے ،
-E
(یا
--extended-regexp
) آپشن کا استعمال کریں۔ توسیع شدہ باقاعدہ تاثرات میں مزید پیچیدہ اور طاقتور تلاش کے نمونوں کو تخلیق کرنے کے لئے اضافی میٹا حرف کے ساتھ ساتھ تمام بنیادی میٹا-حرف بھی شامل ہوتے ہیں۔ ذیل میں کچھ مثالیں ہیں:
-
دی گئی فائل سے تمام ای میل پتوں سے ملائیں اور نکالیں:
grep -E -o "\b+@+\.{2, 6}\b" file.txtدی گئی فائل سے تمام درست IP پتے ملاپ کریں اور نکالیں:
grep -E -o '(25|2|??)\.(25|2|??)\.(25|2|??)\.(25|2|??)' file.txt
-o
آپشن صرف مماثل سٹرنگ پرنٹ کرنے کے لئے استعمال ہوتا ہے۔
میچ سے پہلے لائنز پرنٹ کریں
لائنوں کی مماثلت سے قبل لائنوں کی ایک مخصوص تعداد کو پرنٹ کرنے کے لئے ،
-B
(یا
--before-context
) آپشن کا استعمال کریں۔
مثال کے طور پر ، لائنوں کو ملاپ سے پہلے سر فہرست سیاق و سباق کی پانچ لائنوں کو ظاہر کرنے کے لئے ، آپ درج ذیل کمانڈ استعمال کریں گے۔
میچ کے بعد لائنز پرنٹ کریں
ملاپ کی لکیروں کے بعد لائنوں کی ایک مخصوص تعداد کو پرنٹ کرنے کے لئے ،
-A
(یا
--after-context
) آپشن کا استعمال کریں۔
مثال کے طور پر لائنوں کے ملاپ کے بعد ٹریلنگ سیاق و سباق کی پانچ لائنیں ظاہر کرنے کے لئے ، آپ مندرجہ ذیل کمانڈ استعمال کریں گے۔
نتیجہ اخذ کرنا
grep
کمانڈ آپ کو فائلوں کے اندر کا نمونہ تلاش کرنے کی اجازت دیتا ہے۔ اگر کوئی میچ ملا تو ، گریپ مخصوص نمونوں پر مشتمل لائنوں کو پرنٹ کرے گا۔
گریپ کے بارے میں جاننے کے لئے اور بھی بہت کچھ ہے گرینپ صارف کے دستی صفحے پر۔
گریپ ٹرمینلڈیسک ٹاپ کو ہٹانے کے ساتھ سکینڈ فائلوں میں متن تلاش کریں کے ساتھ سکینڈ فائلوں میں متن تلاش کریں
یہ پروگرام جہاں دوسرے تلاش کے پروگراموں میں نہیں ہے: ای میل، پی ڈی ایف، اسکین نہیں دستاویزات، اور مزید.
Defragg ڈسک، Defraggler کے ساتھ بوٹ وقت پر فائلوں اور سسٹم فائلوں کے ساتھ بوٹ وقت پر فائلوں اور سسٹم فائلوں، Defraggler ایک مفت ڈسک defragmentation سافٹ ویئر ہے جس میں آپ کو تیزی سے آپ کی اجازت دیتا ہے انفرادی فائلوں کو جو آپ چاہتے ہیں، ان کو ہٹانے کے بغیر، پورے ڈرائیو پر عمل کرنے کے بغیر.
Defraggler
کمانڈ لائن کا استعمال کرتے ہوئے لینکس میں فائلیں کیسے ڈھونڈیں
لینکس سسٹم کے منتظمین اسلحہ خانے میں فائن کمانڈ ایک سب سے طاقتور ٹول ہے۔ یہ ایک صارف کی عطا کردہ اظہار پر مبنی ڈائرکٹری درجہ بندی میں فائلوں اور ڈائرکٹریوں کی تلاش کرتا ہے اور ہر مماثل فائل پر صارف کے ذریعہ مخصوص کارروائی انجام دے سکتا ہے۔







