نمایش نتایج 1 تا 40 از 43

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

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #17

    دستور sort



    دستور sort همون طور که از معنیش معلومه برایه ترتیب کردن حروف بر اساس حروف الفبا و همچنین ترتیب کردن اعداد بر اساس اعداد استفاده میشود
    از جایی که اپشن هایه زیادی دارد من این جا فقط اونایی که از همه بیشتر مصرف میشوند و کار راه انداز هستن رو میگم

    شکل کلی دستور
    sort [OPTION]... [FILE]...


    ساده ترین شکل دستور sort به شکل زیر هستش که به صورت پیش فرض ترتیب کردن رو بر اساس حروف انجام میدهد
    برایه این مثال اول فایل زیر رو با محتویات زیر بسازید و ذخیره کنید
    alieblice@~/Desktop/sisi$ nano lili.txt
    X
    C
    d
    c
    a
    h
    g
    A
    G
    H
    K
    p
    برایه ذخیره شدن دکمه کنترل و ایکس رو فشار بدین و سپس دکمه y رو بزنین (( Ctrl+x ))
    alieblice@~/Desktop/sisi$


    مثال :
    alieblice@~/Desktop/sisi$ sort lili.txt 
    a
    A
    c
    C
    d
    g
    G
    h
    H
    K
    p
    X
    alieblice@~/Desktop/sisi$


    ترتیب بر اساس اعداد به وسیله n-
    برایه این کار فایل sisi.txt رو به روش بالا با محتویات زیر بسازین
    10
    30
    40
    5
    7
    1
    88
    2
    1390

    یک فایل رو به دو صورت میشود به ترتیب اعداد کرد

    1=
    از این طریق اعداد فقط بر حصب عدد اولشون ترتیب میشن
    مثال:
    alieblice@~/Desktop/sisi$ sort lili.txt 

    1
    10
    1390
    2
    30
    40
    5
    7
    88
    alieblice@~/Desktop/sisi$


    2=
    بر اساس ترتیب شمردن که احتیاج به اپشن n- دارد
    مثال:
    alieblice@~/Desktop/sisi$ sort -n lili.txt 

    1
    2
    5
    7
    10
    30
    40
    88
    1390
    alieblice@~/Desktop/sisi$


    نکته : اگه خاستین بر عکس ترتیب بشود از اپشن r- استفاده کنین یعنی مثلا در ترتیب اعداد در مثال بالا اول 1390 بعد 88 وبعد 40 و بعد ....


    تعیین جدول

    برایه تعیین جدول احتیاج به دو چیز داریم یک جدا کننده که به ما میگه چه جوری دو تا جدول از هم جدا میشوند و دیگری شماره جدول
    در مثال هایه زیر از متن زیر استفاده شده است

    acl Safe_ports port 80        # http
    bin:x:2:2:bin:/bin:/bin/sh
    games:x:5:60:games:/usr/games:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    acl Safe_ports port 777 # multiling http
    acl Safe_ports port 631 # cups
    acl Safe_ports port 873 ## rsync
    acl Safe_ports port 901 # SWAT
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash
    tia:x:1000:1000::/home/tia:/bin/bash


    به خط زیر توجه کنین
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash

    اگه در خط بالا نوع جدا کننده را : در نظر بگیریم خط بالا از 7 قسمت درست شده که ما اینجا به اونا جدول می گفتیم
    در مثال زیر میگیم که خطوط رو بر اساس جدول 3وم و نوع جدا کننده : به ترتیب اعداد بکند
    alieblice@~/Desktop/sisi$ sort -n -t: -k3 lili.txt 
    acl Safe_ports port 631 # cups
    acl Safe_ports port 777 # multiling http
    acl Safe_ports port 80 # http
    acl Safe_ports port 873 ## rsync
    acl Safe_ports port 901 # SWAT
    bin:x:2:2:bin:/bin:/bin/sh
    games:x:5:60:games:/usr/games:/bin/sh
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash
    tia:x:1000:1000::/home/tia:/bin/bash
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    alieblice@~/Desktop/sisi$

    در مثال بالا t- برای تعیین جدا کننده و k- برایه تعیین جدول هستش
    اگه خاستین خروجی هایه تکراری پاک شوند از u- استفاده کنین

    مثال :
    alieblice@~/Desktop/sisi$ sort -nu -t":" -k3 lili.txt 
    acl Safe_ports port 80 # http
    bin:x:2:2:bin:/bin:/bin/sh
    games:x:5:60:games:/usr/games:/bin/sh
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    alieblice@~/Desktop/sisi$

    همون طور که میبینین این خط به همراه تمام خط هایی که توش جدا کننده پیدا نشده به جز یکی حذف شدند
    tia:x:1000:1000::/home/tia:/bin/bash


    مثالی دیگر :
    در مثال زیر جدا کننده رو یک فاصله (( space )) در نظر میگیریم
    alieblice@~/Desktop/sisi$ sort -t" " -k 4 -nu lili.txt 
    bin:x:2:2:bin:/bin:/bin/sh
    acl Safe_ports port 80 # http
    acl Safe_ports port 631 # cups
    acl Safe_ports port 777 # multiling http
    acl Safe_ports port 873 ## rsync
    acl Safe_ports port 901 # SWAT
    alieblice@~/Desktop/sisi$


    نکته :
    یکی از مشکلاتی که دستور sort دارد نوع جدا کننده هستش که نمیشه دو حرفی تعیین کرد یعنی مثلا چیزهایی مثل " :" ::" ":@" نمیشه تعیین کرد

    منبع : LPIC-1_In_Nutshell_Oreilly_Edition3
    ادرس دانلود:
    http://ubuntuone.com/p/15HZ/
    آخرین ویرایش به وسیله alieblice : جمعه 18 شهریور 1390 در 20:11 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •