لینکس پر وائلڈ کارڈز کا استعمال کرتے ہوئے موجودہ اور ذیلی ڈائریکٹریوں میں بار بار فائلیں تلاش کرنا

لینکس پر وائلڈ کارڈز کا استعمال کرتے ہوئے موجودہ اور ذیلی ڈائریکٹریوں میں بار بار فائلیں تلاش کرنا
لینکس پر وائلڈ کارڈز کا استعمال کرتے ہوئے موجودہ اور ذیلی ڈائریکٹریوں میں بار بار فائلیں تلاش کرنا

لینکس میں موثر فائل کی تلاش

لینکس کے ساتھ کام کرتے وقت، ڈائریکٹریز میں فائلیں تلاش کرنا ایک عام اور بعض اوقات پیچیدہ کام ہوسکتا ہے۔ تکراری تلاش کے طریقوں اور وائلڈ کارڈ کی ملاپ کا استعمال اس عمل کو نمایاں طور پر ہموار کر سکتا ہے۔ یہ ٹولز نوآموز اور جدید صارفین دونوں کے لیے انمول ہیں، جو فائل مینجمنٹ کو زیادہ موثر بناتے ہیں۔

اس گائیڈ میں، ہم دریافت کریں گے کہ مخصوص وائلڈ کارڈ پیٹرن کی بنیاد پر موجودہ ڈائرکٹری اور اس کی ذیلی ڈائرکٹریز میں تمام فائلوں کو بار بار تلاش کرنے کا طریقہ۔ چاہے آپ بڑے ڈیٹا سیٹس کو ترتیب دے رہے ہوں یا صرف چند فائلوں کو تلاش کرنے کی کوشش کر رہے ہوں، یہ طریقے آپ کی کمانڈ لائن کی مہارت کو بڑھا دیں گے۔

کمانڈ تفصیل
find ڈائریکٹری کے درجہ بندی میں فائلوں اور ڈائریکٹریوں کو تلاش کرتا ہے۔
-name وائلڈ کارڈ پیٹرن کا استعمال کرتے ہوئے فائلوں کو ان کے نام سے ملاتا ہے۔
os.walk اوپر سے نیچے یا نیچے سے اوپر چل کر ڈائریکٹری کے درخت میں فائل کے نام تیار کرتا ہے۔
fnmatch.fnmatch جانچتا ہے کہ آیا فائل کا نام یا سٹرنگ وائلڈ کارڈ کے پیٹرن سے مماثل ہے۔
param PowerShell اسکرپٹس اور فنکشنز کے لیے پیرامیٹرز کی وضاحت کرتا ہے۔
Get-ChildItem ایک یا زیادہ مخصوص جگہوں پر اشیاء کو بازیافت کرتا ہے۔
-Recurse کمانڈ کو ڈائریکٹریز کے ذریعے بار بار تلاش کرنے کی ہدایت کرتا ہے۔
-Filter وائلڈ کارڈ ایکسپریشن کا استعمال کرتے ہوئے آئٹمز کو فلٹر کرتا ہے۔

تکراری فائل سرچ اسکرپٹس کی تفصیلی وضاحت

پہلی اسکرپٹ موجودہ ڈائرکٹری میں فائلوں کو تلاش کرنے کے لیے شیل اسکرپٹ کا استعمال کرتی ہے اور دیے گئے وائلڈ کارڈ پیٹرن کی بنیاد پر اس کی ذیلی ڈائرکٹریاں۔ اسکرپٹ کے ترجمان کی وضاحت کرنے کے لیے یہ ایک شیبانگ سے شروع ہوتا ہے۔ اسکرپٹ پھر چیک کرتا ہے کہ آیا صارف نے if [ $# -eq 0 ] کا استعمال کرتے ہوئے بطور دلیل وائلڈ کارڈ پیٹرن فراہم کیا ہے۔ اگر نہیں، تو یہ صارف کو صحیح استعمال اور باہر نکلنے کا اشارہ کرتا ہے۔ اگر کوئی پیٹرن فراہم کیا جاتا ہے، تو اسکرپٹ فائلوں کو تلاش کرنے کے لیے -type f آپشن کے ساتھ find کمانڈ اور وائلڈ کارڈ پیٹرن سے ملنے کے لیے -name آپشن کا استعمال کرتا ہے۔ find کمانڈ یونکس پر مبنی سسٹمز میں بار بار فائلوں کو تلاش کرنے کے لیے انتہائی موثر ہے۔ اسکرپٹ کا اختتام ایگزٹ 0 کے ساتھ ہوتا ہے تاکہ کامیاب عملدرآمد کی نشاندہی کی جاسکے۔

دوسرا اسکرپٹ ایک Python اسکرپٹ ہے جو وائلڈ کارڈ پیٹرن کی بنیاد پر بار بار فائلوں کو بھی تلاش کرتا ہے۔ یہ os اور sys ماڈیولز کو درآمد کرنے سے شروع ہوتا ہے، جو آپریٹنگ سسٹم کے ساتھ تعامل کرنے اور کمانڈ لائن آرگیومینٹس کو سنبھالنے کے لیے ضروری ہیں۔ اسکرپٹ چیک کرتا ہے کہ آیا صارف نے وائلڈ کارڈ پیٹرن فراہم کیا ہے۔ اگر نہیں، تو یہ صحیح استعمال پرنٹ کرتا ہے اور باہر نکل جاتا ہے۔ os.walk کا استعمال اسکرپٹ کو ڈائریکٹری کے درخت کو عبور کرنے کی اجازت دیتا ہے۔ ملنے والی ہر فائل کے لیے، fnmatch.fnmatch چیک کرتا ہے کہ آیا فائل کا نام وائلڈ کارڈ پیٹرن سے مماثل ہے، مماثل فائل پاتھ پرنٹ کرتے ہوئے یہ اسکرپٹ ان صارفین کے لیے کارآمد ہے جو اسکرپٹنگ کے لیے Python کو ترجیح دیتے ہیں اور اپنے کوڈ میں مزید لچک اور پڑھنے کی اہلیت کی ضرورت ہے۔

تیسری اسکرپٹ ونڈوز سسٹم پر اسی طرح کا کام انجام دینے کے لیے PowerShell کو ملازمت دیتی ہے۔ وائلڈ کارڈ پیٹرن کے لیے پیرامیٹر کی وضاحت کرنے کے لیے اسکرپٹ param بیان کا استعمال کرتی ہے۔ اگر پیٹرن فراہم نہیں کیا جاتا ہے، تو یہ صارف کو صحیح استعمال کا اشارہ کرتا ہے۔ Get-ChildItem cmdlet، -Recurse پرچم کے ساتھ مل کر، مخصوص جگہوں پر بار بار آئٹمز کو بازیافت کرتا ہے۔ -فلٹر پیرامیٹر مخصوص فائلوں سے ملنے کے لیے وائلڈ کارڈ پیٹرن کا اطلاق کرتا ہے۔ یہ اسکرپٹ ونڈوز کے ماحول میں کام کرنے والے صارفین کے لیے مثالی ہے، جو پاور شیل کی طاقتور اور ورسٹائل اسکرپٹنگ صلاحیتوں سے فائدہ اٹھاتے ہوئے فائلوں کو موثر طریقے سے منظم اور تلاش کر سکتے ہیں۔

فائنڈ کمانڈ کا استعمال کرتے ہوئے تکراری فائل تلاش کریں۔

لینکس میں شیل اسکرپٹنگ

#!/bin/bash
# Script to recursively find files based on wildcard matching

# Check if the user has provided a wildcard pattern
if [ $# -eq 0 ]
then
  echo "Usage: $0 <wildcard-pattern>"
  exit 1
fi

# Find and print the files matching the pattern
find . -type f -name "$1"

exit 0

تکراری فائل کی تلاش کے لیے ازگر کا اسکرپٹ

ازگر اسکرپٹ

import os
import sys

# Check if the user has provided a wildcard pattern
if len(sys.argv) != 2:
    print("Usage: python script.py <wildcard-pattern>")
    sys.exit(1)

# Get the wildcard pattern from the command line argument
pattern = sys.argv[1]

# Walk through the directory tree
for root, dirs, files in os.walk("."):
    for file in files:
        if fnmatch.fnmatch(file, pattern):
            print(os.path.join(root, file))

بار بار چلنے والی فائل کی تلاش کے لئے پاور شیل اسکرپٹ

پاور شیل اسکرپٹنگ

# Check if the user has provided a wildcard pattern
param (
    [string]$pattern
)

if (-not $pattern) {
    Write-Host "Usage: .\script.ps1 -pattern '<wildcard-pattern>'"
    exit 1
}

# Get the files matching the pattern
Get-ChildItem -Recurse -File -Filter $pattern

تکراری فائل کی تلاش کے لیے جدید تکنیک

بنیادی تکراری فائل تلاش کے طریقوں کے علاوہ جن پر پہلے بات کی گئی ہے، کئی جدید تکنیکیں ہیں جو لینکس پر آپ کی فائل تلاش کرنے کی صلاحیتوں کو بڑھا سکتی ہیں۔ ایسے ہی ایک طریقہ میں مخصوص ٹیکسٹ پیٹرن والی فائلوں کو تلاش کرنے کے لیے find کے ساتھ grep کمانڈ استعمال کرنا شامل ہے۔ مثال کے طور پر، آپ find استعمال کر سکتے ہیں۔ -ٹائپ کریں f -name "*.txt" -exec grep "search_text" {} + تمام ٹیکسٹ فائلوں کو تلاش کرنے کے لیے جس میں سٹرنگ "search_text" ہے۔ یہ خاص طور پر ڈویلپرز اور سسٹم ایڈمنسٹریٹرز کے لیے مفید ہے جنہیں بڑے کوڈ بیسز یا لاگ فائلوں کو مؤثر طریقے سے تلاش کرنے کی ضرورت ہے۔

بار بار فائل کی تلاش کے لیے ایک اور طاقتور ٹول fd ہے، جو تلاش کا ایک آسان، تیز اور صارف دوست متبادل ہے۔ fd سمجھدار ڈیفالٹس کے ساتھ آتا ہے اور ایک بدیہی نحو فراہم کرتا ہے۔ مثال کے طور پر، کمانڈ fd "pattern" بار بار پیٹرن سے مماثل فائلوں کو تلاش کرے گی، اور یہ ڈیفالٹ کے طور پر ریگولر ایکسپریشنز کو سپورٹ کرتی ہے۔ مزید برآں، فائل سسٹم کے متوازی ہونے کی وجہ سے fd بہت سے منظرناموں میں fd سے تیز ہے۔ ان صارفین کے لیے جنہیں صارف دوست انٹرفیس کے ساتھ تلاش کی جدید خصوصیات کی ضرورت ہے، fd ایک بہترین انتخاب ہو سکتا ہے۔

تکراری فائل کی تلاش پر عام سوالات اور جوابات

  1. میں ایک مخصوص ایکسٹینشن والی فائلوں کو بار بار کیسے تلاش کروں؟
  2. کمانڈ استعمال کریں find. -type f -name "*.extension" جہاں "extension" وہ فائل ایکسٹینشن ہے جس کی آپ تلاش کر رہے ہیں۔
  3. کیا میں ان فائلوں کو تلاش کر سکتا ہوں جن میں پچھلے 7 دنوں میں ترمیم کی گئی تھی؟
  4. جی ہاں، کمانڈ استعمال کریں find ۔ -ٹائپ کریں f -mtime -7 پچھلے 7 دنوں میں ترمیم شدہ فائلوں کو تلاش کرنے کے لیے۔
  5. میں تلاش سے مخصوص ڈائریکٹریز کو کیسے خارج کروں؟
  6. ڈائریکٹریز کو خارج کرنے کے لیے find کے ساتھ -prune آپشن کا استعمال کریں، جیسے، find ۔ -path "./exclude_dir" -prune -o -type f -name "*.txt" -print۔
  7. کیا فائلوں کو ان کے سائز سے تلاش کرنا ممکن ہے؟
  8. ہاں، find استعمال کریں۔ 100MB سے بڑی فائلیں تلاش کرنے کے لیے f -size +100M ٹائپ کریں۔
  9. میں ریگولر ایکسپریشن سے مماثل ناموں والی فائلوں کو کیسے تلاش کروں؟
  10. استعمال کریں تلاش کریں۔ ریگولر ایکسپریشن سے مماثل ناموں والی فائلوں کو تلاش کرنے کے لیے f -regex ".* پیٹرن۔*" ٹائپ کریں۔
  11. کیا میں تلاش کے متعدد معیارات کو یکجا کر سکتا ہوں؟
  12. ہاں، آپ find اختیارات کا استعمال کرتے ہوئے معیار کو یکجا کر سکتے ہیں، جیسے، find. قسم f -نام "*.txt" -سائز +10M۔
  13. میں چھپی ہوئی فائلوں کو بار بار کیسے تلاش کروں؟
  14. استعمال کریں تلاش کریں۔ پوشیدہ فائلوں کو تلاش کرنے کے لیے f -name ".*" ٹائپ کریں۔
  15. کیا صرف ڈائریکٹریوں کی فہرست بنانے کا کوئی طریقہ ہے؟
  16. ہاں، find استعمال کریں۔ تمام ڈائریکٹریوں کو بار بار فہرست کرنے کے لیے d ٹائپ کریں۔
  17. میں ملنے والی فائلوں کی تعداد کیسے گن سکتا ہوں؟
  18. شامل کریں | wc -l کو find کمانڈ، جیسے، find. -type f -name "*.txt" | wc -l۔
  19. کیا میں تلاش کی گہرائی کو محدود کر سکتا ہوں؟
  20. ہاں، -maxdepth آپشن استعمال کریں، جیسے، find ۔ -maxdepth 2 -type f تلاش کو 2 سطحوں تک محدود کرنے کے لیے۔

تکراری فائل کی تلاش کے لیے جدید تکنیک

بنیادی تکراری فائل تلاش کے طریقوں کے علاوہ جن پر پہلے بات کی گئی ہے، کئی جدید تکنیکیں ہیں جو لینکس پر آپ کی فائل تلاش کرنے کی صلاحیتوں کو بڑھا سکتی ہیں۔ ایسا ہی ایک طریقہ استعمال کرنا شامل ہے۔ grep کے ساتھ مجموعہ میں حکم find مخصوص ٹیکسٹ پیٹرن پر مشتمل فائلوں کو تلاش کرنے کے لیے۔ مثال کے طور پر، آپ استعمال کر سکتے ہیں find . -type f -name "*.txt" -exec grep "search_text" {} + سٹرنگ "search_text" پر مشتمل تمام ٹیکسٹ فائلوں کو تلاش کرنے کے لیے۔ یہ خاص طور پر ڈویلپرز اور سسٹم ایڈمنسٹریٹرز کے لیے مفید ہے جنہیں بڑے کوڈ بیسز یا لاگ فائلوں کو مؤثر طریقے سے تلاش کرنے کی ضرورت ہے۔

تکراری فائل کی تلاش کے لیے ایک اور طاقتور ٹول ہے۔ fdکا ایک آسان، تیز، اور صارف دوست متبادل find. fd سمجھدار ڈیفالٹس کے ساتھ آتا ہے اور ایک بدیہی نحو فراہم کرتا ہے۔ مثال کے طور پر، کمانڈ fd "pattern" پیٹرن سے مماثل فائلوں کو بار بار تلاش کرے گا، اور یہ پہلے سے طے شدہ طور پر ریگولر ایکسپریشنز کو سپورٹ کرتا ہے۔ مزید برآں، fd سے تیز ہے find بہت سے منظرناموں میں اس کے متوازی فائل سسٹم ٹراورسل کی وجہ سے۔ صارف دوست انٹرفیس کے ساتھ اعلی درجے کی تلاش کی خصوصیات کی ضرورت والے صارفین کے لیے، fd ایک بہترین انتخاب ہو سکتا ہے.

تکراری فائل کی تلاش پر حتمی خیالات

لینکس میں بار بار فائل کی تلاش میں مہارت حاصل کرنا موثر فائل مینجمنٹ کے لیے بہت ضروری ہے، خاص طور پر پیچیدہ ڈائریکٹری ڈھانچے میں۔ جیسے ٹولز کا فائدہ اٹھا کر find، grep، اور متبادل جیسے fd، صارفین نمایاں طور پر اپنی پیداوری کو بڑھا سکتے ہیں۔ ان کمانڈز کو سمجھنا اور استعمال کرنا وقت کی بچت کر سکتا ہے اور نئے اور تجربہ کار صارفین دونوں کے لیے کاموں کو آسان بنا سکتا ہے، اس بات کو یقینی بناتے ہوئے کہ فائلوں کو تلاش کرنا ایک سیدھا سا عمل بن جائے۔