0% found this document useful (0 votes)
16 views4 pages

Os Lab

Uploaded by

hb.hosna077
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views4 pages

Os Lab

Uploaded by

hb.hosna077
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

‫!

ﻪ ﻧﺎم ﺧﺪا‬
‫‪۹۸۰۱۲۲۶۸۰۰۱۹‬‬ ‫ﺣﺴﻨﺎ ﺣﺒﯿ‪/0‬‬
‫‪: AWK‬‬
‫‪ H‬ﺗﻮﻟ‪N‬ﺪ ﮔﺰارش اﺳﺘﻔﺎدە ﻣ‪T‬ﺸﻮد‪ .‬اﯾﻦ دﺳﺘﻮر ﻧ‪N‬ﺎزی‬ ‫ﺑﺮای دﺳﺘ‪A‬ﺎری دادە ‪D‬ﺎ و ‪D‬ﻤﭽﻨ ‪J I‬‬
‫!ﻪ ‪Z‬ﺎﻣﭙ‪N‬ﺎل ﻧﺪارد و !ﻪ ‪Z‬ﻤﮏ آن ﻣﯿﺘﻮان از ﻣﺘﻐ‪D aI‬ﺎ‪ ،‬ﺗﻮاﺑﻊ ﻋﺪدی‪ ،‬ﺗﻮاﺑﻊ رﺷﺘﻪ و‬
‫ﻋﻤﻠ‪g‬ﺮ ‪D‬ﺎی ﻣﻨﻄ‪ ij‬اﺳﺘﻔﺎدە ﮐﺮد‪! .‬ﺎ ‪ AWK‬ﺑﺮﻧﺎﻣﻪ ﻧ‪ml‬ﺲ ‪D‬ﺎ ﻣﯿﺘﻮاﻧﻨﺪ ﺑﺮﻧﺎﻣﻪ ‪D‬ﺎی‬
‫ﮐﻮﭼﮏ ﻣﺆﺛﺮی را در ﻗﺎﻟﺐ ﻋ‪t‬ﺎرا‪ uj‬ﺑﻨ‪ml‬ﺴﻨﺪ ﮐﻪ اﻟ‪g‬ﻮ ‪D‬ﺎی ﻣﺘ‪ /J‬را ﮐﻪ !ﺎ‪v‬ﺪ در ‪D‬ﺮ ﺧﻂ‬
‫‪v H‬ﮏ ﻣﻄﺎﺑﻖ در ‪v‬ﮏ‬ ‫‪v‬ﮏ ‪ document‬ﺟﺴﺘﺠﻮ ﺷﻮد و اﻗﺪا‚ ﮐﻪ !ﺎ‪v‬ﺪ ‪D‬ﻨ‪ƒ‬ﺎم ‪v‬ﺎﻓ ‪J j‬‬
‫ﺧﻂ اﻧﺠﺎم ﺷﻮد را ﺗﻌ‡ˆﻒ ﮐﻨﻨﺪ‪ AWK .‬ﺑ‪T‬ﺸ‪ aj‬ﺑﺮای اﺳﮑﻦ ﮐﺮدن و ﭘﺮدازش اﻟ‪g‬ﻮ‬
‫اﺳﺘﻔﺎدە ﻣ‪T‬ﺸﻮد‪ .‬اﯾﻨﻄﻮر ﮐﻪ ‪v‬ﮏ ‪v‬ﺎ ﭼﻨﺪ ﻓﺎ‪v‬ﻞ را ﺟﺴﺘﻮﺟﻮ ﻣ‪N‬ﮑﻨﺪ ﺗﺎ ﺑ•ﯿﻨﺪ آ‪v‬ﺎ آﻧ‪Ž‬ﺎ‬
‫دارای ﺧﻄﻮ• ‪D‬ﺴ•ﻨﺪ ﮐﻪ !ﺎ اﻟ‪g‬ﻮ ‪D‬ﺎی ﻣﺸﺨﺺ ﺷﺪە ﺗﻄﺎﺑﻖ داﺷﺘﻪ !ﺎﺷﺪ ‪v‬ﺎ ﻧﻪ‪.‬‬
‫ﺳ“ﺲ اﻗﺪاﻣﺎت ﻣ‡•ﻮط !ﻪ آن را اﻧﺠﺎم ﻣ‪N‬ﺪ‪D‬ﺪ‪.‬‬
‫‪Operations:‬‬
‫اﺳﮑﻦ ﮐﺮدن ﺧﻂ !ﻪ ﺧﻂ ‪v‬ﮏ ﻓﺎ‪v‬ﻞ‬
‫ﺗﻘﺴ‪N‬ﻢ ﮐﺮدن ‪D‬ﺮ ﺧﻂ ورودی !ﻪ ﻓ‪N‬ﻠﺪ ‪D‬ﺎ‬
‫ﻣﻘﺎ‪Ÿ‬ﺴﻪ ﮐﺮدن ﺧﻂ ‪v‬ﺎ ﻓ‪N‬ﻠﺪ ورودی !ﺎ اﻟ‪g‬ﻮ ﻣﺸﺨﺺ ﺷﺪە‬
‫اﻧﺠﺎم ﻋﻤﻞ ﻻزم روی ﺧﻄﻮط ‪D‬ﻤﺴﺎن‬
‫اﯾﻦ دﺳﺘﻮر ﺑﺮای ﺗ‪t‬ﺪ‪v‬ﻞ ﻓﺎ‪v‬ﻞ ‪D‬ﺎی دادە و ﺗ‪NŽ‬ﻪ ﮔﺰارش ‪D‬ﺎی ﻗﺎﻟﺐ ﺑﻨﺪی ﺷﺪە ‪Z‬ﺎر•ﺮدی‬
‫اﺳﺖ‪.‬‬
‫‪Syntax:‬‬
‫‪awk options ‘selection _criteria {action}’ input-file > output-file‬‬

‫‪ Awk‬از اﻧﻮاع ﻣﺨﺘﻠ‪ iJ‬از دﺳﺘﻮرات‪ ،‬از ﺟﻤﻠﻪ ﻋ‪t‬ﺎرات‪D •±² ،‬ﺎ‪ ،‬دﺳﺘﻮرات ورودی‪،‬‬
‫ﺧﺮو ‪ ³0‬و ﻏ‪aI‬ە ‪µ‬ﺸ•ﯿ‪t‬ﺎ‪ ‚ uJ‬ﮐﻨﺪ‪ .‬راﯾﺞ ﺗ‡ˆﻦ ﻋ‪t‬ﺎرات ‪ awk‬ﻋ‪t‬ﺎرﺗﻨﺪ از‪:‬‬
‫‪ - exit‬اﺟﺮای ‪Z‬ﻞ ﺑﺮﻧﺎﻣﻪ را ﻣﺘﻮﻗﻒ ‚ ﮐﻨﺪ و ﺧﺎرج ‚ ﺷﻮد‪.‬‬
‫‪ - next‬ﭘﺮدازش رﮐﻮرد ﻓﻌ¸ را ﻣﺘﻮﻗﻒ ‚ ﮐﻨﺪ و !ﻪ رﮐﻮرد !ﻌﺪی در دادە ‪D‬ﺎی ورودی‬
‫‚ رود‪.‬‬
‫‪ H‬ﺳﻔﺎر‪.º²‬‬‫‪ - print‬ﭼﺎپ رﮐﻮرد‪D‬ﺎ‪ ،‬ﻓ‪N‬ﻠﺪ‪D‬ﺎ‪ ،‬ﻣﺘﻐ‪DaI‬ﺎ و ﻣ ‪J j‬‬
‫‪ – Printf‬ﮐﻨ‪aj‬ل ﺑ‪T‬ﺸ‪aj‬ی روی ﻓﺮﻣﺖ ﺧﺮو ‪ ³0‬ﻣ‪N‬ﺪ‪D‬ﺪ‪.‬‬
‫‪v‬ﮏ ﺑﺮﻧﺎﻣﻪ ‪ awk‬را ‚ ﺗﻮان !ﻪ روش ‪D‬ﺎی ﻣﺨﺘﻠ‪ iJ‬اﺟﺮا ﮐﺮد‪ .‬ا½ﺮ ﺑﺮﻧﺎﻣﻪ ﮐﻮﺗﺎە و ﺳﺎدە‬
‫¾‬
‫!ﺎﺷﺪ‪ ‚ ،‬ﺗﻮان آن را ﻣﺴﺘﻘ‪N‬ﻤﺎ !ﻪ ﻣﻔ¿ ‪ awk‬در ﺧﻂ ﻓﺮﻣﺎن ارﺳﺎل ﮐﺮد‪.‬‬
‫…‪awk ‘program’ input-file‬‬
‫‪example:‬‬
‫‪test.txt:‬‬
‫‪aa bc‬‬ ‫‪1 2 3 0.4‬‬
‫‪dd ef‬‬ ‫‪5 6 7 0.8‬‬
‫‪gg hi‬‬ ‫‪9 10 0.11‬‬
‫‪jj kl‬‬ ‫‪12 13 0.14‬‬

‫‪$ awk ‘{ print $3 }’ test.txt‬‬


‫ﺑﺮﻧﺎﻣﻪ ﻗﺴﻤﺖ ﺳﻮم ‪D‬ﺮ رﮐﻮرد را ﭼﺎپ ‚ ﮐﻨﺪ‪:‬‬
‫‪Output:‬‬
‫‪1‬‬
‫‪5‬‬
‫‪9‬‬
‫‪12‬‬

‫‪:tr‬‬
‫‪v‬ﮏ ‪ command‬ﺑﺮای ﺗﺮﺟﻤﻪ ‪v‬ﺎ ﺣﺬف ﮐﺮدن ‪Z‬ﺎرا‪D ajÒ‬ﺎﺳﺖ ﮐﻪ از ﻃ‪N‬ﻒ وﺳ‪ ÔN‬از‬
‫ﺗ‪t‬ﺪ‪v‬ﻞ ‪D‬ﺎ ﻣﺜﻞ ﺗ‪t‬ﺪ‪v‬ﻞ ﺣﺮوف ﺑﺰرگ !ﻪ ﮐﻮﭼﮏ‪ ،‬ﻓ‪¿²‬دە ﮐﺮدن ‪Z‬ﺎرا‪D ajÒ‬ﺎی ﺗﮑﺮاری‪،‬‬
‫‪ H‬و ﺟﺎ‪v‬ﮕ‪ /JˆÙ‬اوﻟ‪N‬ﻪ ‪µ‬ﺸ•ﯿ‪t‬ﺎ‪ uJ‬ﻣ‪N‬ﮑﻨﺪ‪.‬‬
‫ﺣﺬف ﮐﺮدن ‪Z‬ﺎرا‪D ajÒ‬ﺎی ﺧﺎص و ‪v‬ﺎﻓ ‪J j‬‬
‫‪Syntax:‬‬
‫]‪$ tr [OPTION] SET1 [SET2‬‬

‫‪Options:‬‬
‫‪ : -c‬ﻣﺠﻤﻮﻋﻪ ‪Z‬ﺎرا‪D ajÒ‬ﺎ را در رﺷﺘﻪ ﺗ‪A‬ﻤ‪N‬ﻞ ﻣ‪N‬ﮑﻨﺪ‪ .‬ﻣﺜﻼ ﻋﻤﻠ‪N‬ﺎت ﺑﺮای ‪Z‬ﺎرا‪D ajÒ‬ﺎ‪uá‬‬
‫ﮐﻪ در ﻣﺠﻤﻮﻋﻪ دادە ﺷﺪە ﻧ‪T‬ﺴ•ﻨﺪ اﻋﻤﺎل ﻣ‪T‬ﺸﻮد‪.‬‬
‫‪Z : -d‬ﺎرا‪D ajÒ‬ﺎی ﻣﺠﻤﻮﻋﻪ اول را از ﺧﺮو ‪ ³0‬ﺣﺬف ﻣ‪N‬ﮑﻨﺪ‪.‬‬
‫‪Z : -s‬ﺎرا‪D ajÒ‬ﺎی ﺗﮑﺮاری ﻓ‪Ž‬ﺮﺳﺖ ﺷﺪە در ‪ set1‬را !ﺎ ‪v‬ﮏ ‪ occurrence‬ﺟﺎ‪v‬ﮕ‪ˆÙ‬ﻦ‬
‫ﻣ‪N‬ﮑﻨﺪ‪.‬‬
‫‪ set1 : -t‬را ﮐﻮﺗﺎە ﻣ‪N‬ﮑﻨﺪ‪.‬‬

‫ﻣﺜﺎل‪:‬‬
‫’‪$ echo ‘helloworld’ | tr ‘hel’ ‘pcd‬‬

‫‪h -> p‬‬


‫‪e -> c‬‬
‫‪l -> d‬‬

‫‪output : pcddoworld‬‬

‫’]‪$ echo ‘Helloworld’ | tr ‘[:lower:]’ ‘[:upper:‬‬


‫‪Lower case -> upper case‬‬

‫‪Output: HELLOWORLD‬‬

‫‪:SED‬‬
‫اﯾﻦ دﺳﺘﻮر ﻣﺨﻔﻒ )‪! (stream editor‬ﻪ ﻣﻌﻨﺎی وˆﺮا‪Ÿ‬ﺸﮕﺮ ﺟ‡ˆﺎن اﺳﺖ و ﻣﯿﺘﻮاﻧﺪ‬
‫‪ H‬و ﺟﺎ‪v‬ﮕ‪ ،/JˆÙ‬درج ‪v‬ﺎ ﺣﺬف را روی‬ ‫‪é‬ﺴ‪N‬ﺎری از ﻋﻤﻠ‪ê‬ﺮد ‪D‬ﺎ از ﺟﻤﻠﻪ ﺟﺴﺘﺠﻮ‪v ،‬ﺎﻓ ‪J j‬‬
‫ﻓﺎ‪v‬ﻞ اﻧﺠﺎم د‪D‬ﺪ‪.‬‬
‫‪ H‬و ﺟﺎ‪v‬ﮕ‪ /JˆÙ‬اﺳﺖ‪! .‬ﺎ اﺳﺘﻔﺎدە از‬ ‫راﯾﺞ ﺗ‡ˆﻦ ‪Z‬ﺎر•ﺮد اﯾﻦ دﺳﺘﻮر ﺑﺮای ﺟﺎ‪v‬ﮕ‪v /JˆÙ‬ﺎ ‪v‬ﺎﻓ ‪J j‬‬
‫‪H‬و‬ ‫آن ﻣﯿﺘﻮان ﻓﺎ‪v‬ﻞ ‪D‬ﺎ را ﺣ‪! /j‬ﺪون !ﺎز ﮐﺮدن آن ‪D‬ﺎ وˆﺮا‪Ÿ‬ﺶ ﮐﺮد و اﯾﻦ راە ﺑﺮای ‪v‬ﺎﻓ ‪J j‬‬
‫ﺟﺎ‪v‬ﮕ‪ˆÙ‬ﻦ ﮐﺮدن ﭼ ‪aJ I‬ی در ﻓﺎ‪v‬ﻞ ‪é‬ﺴ‪N‬ﺎر ‪ˆ±‬ـ ـﻊ اﺳﺖ ‪í‬ﺴ‪î‬ﺖ !ﻪ اﯾﻨﮑﻪ ﻓﺎ‪v‬ﻞ در وˆﺮا‪Ÿ‬ﺸﮕﺮ‬
‫‪! VI‬ﺎز ﺷﻮد و !ﻌﺪ ﺗﻐﯿ‪aI‬ات ﻻزم روی آن اﻋﻤﺎل ﺷﻮد‪ .‬اﯾﻦ دﺳﺘﻮر از ﻋ‪t‬ﺎرات ﻣﻨﻈﻢ‬
‫‪µ‬ﺸ•ﯿ‪t‬ﺎ‪ uJ‬ﻣ‪N‬ﮑﻨﺪ ‪µ‬ﺲ اﻣ‪A‬ﺎن ﺗﻄﺒﯿﻖ اﻟ‪g‬ﻮی ﭘ‪N‬ﭽ‪N‬ﺪە را ﻣ‪N‬ﺪ‪D‬ﺪ‪.‬‬
‫‪Syntax:‬‬
sed OPTIONS… [SCRIPT] [INPUTFILE…]

example:
1. sed ‘s/apple/orange/g’ test.txt -> replacing every
occurance of apple with orange in test.txt
2. sed ‘s/apple|banana/orange/g’ test.txt -> replacing every
occurance of apple or banana with orange.
3. sed -n 12,18p test.txt -> show only lines 12-18 of test.txt
4. sed ‘$d’ test.txt -> delete the last line.

You might also like