Линукс дээр awk нь командын мөрийн текст боловсруулах динамо бөгөөд хүчирхэг скрипт хэл юм. Энд түүний хамгийн гайхалтай шинж чанаруудын танилцуулга байна.
awk командыг 1977 онд анхны хувилбарыг бичсэн Алфред Ахо, Питер Вайнбергер, Брайан Керниган гэсэн гурван хүний нэрийн эхний үсгийг ашиглан нэрлэсэн. Эдгээр гурван хүн домогт AT&T Bell Laboratories Uni
Цааш унших →AWK нь загвар хайх, боловсруулахад тохиромжтой. Скрипт нь тохирох хэв маягийг тодорхойлохын тулд нэг буюу хэд хэдэн файл хайхаар ажилладаг бөгөөд эдгээр загварууд нь тодорхой ажлуудыг гүйцэтгэдэг. Энэхүү гарын авлагад бид AWK Linux командыг судалж, юу хийж чадахыг харна.
Линуксийн хэрэгслүүд нь ихэвчлэн Unix-ийн дизайны философийг баримталдаг. Хэрэгслүүд нь жижиг хэмжээтэй, оролт, гаралтад энгийн текст файлуудыг ашиглах, модульчлагдсан байдлаар ажиллахыг зөвлөж байна. Энэхүү өв залгамжлалын улмаас бид sed болон awk зэрэг хэрэгслээр текст боловсруулах гайхалтай функцтэй болсон.
awk нь програмчлалын хэл ба текст процессор бөгөөд та текст өгөгдлийг маш хэрэгтэй аргаар удирдахад ашиглаж болно. Энэ гарын авлагад та awk командын мөрийн хэрэглүүрийг хэрхэн ашиглах болон текст боловсруулахдаа хэрхэн ашиглах
Цааш унших →Линукс системийн администраторын хувьд та хэд хэдэн мөрийг шүүж гаралтын нэг хэсгийг харуулахын тулд өөр өөр тушаалуудын гаралтыг удирдах, дахин форматлах шаардлагатай нөхцөл байдалд олон удаа тулгардаг. Энэ процессыг шүүлтүүр гэж нэрлэгддэг Линукс програмуудын цуглуулгыг ашиглан текст шүүлтүүр гэж нэрлэж болно.
Текст шүүлтүүрийн хэд хэдэн Линукс хэрэгслүүд байдаг бөгөөд сайн мэддэг зарим шүүлтүүрт head, tail, grep, tr, fmt, sort, uniq, pr болон Awk, Sed зэрэг илүү дэвшилтэт, хүчирхэг хэрэгслүүд багтдаг.
Цааш унших →Awk цувралын эхнээс 12-р хэсэг хүртэл бид жижиг Awk командууд болон програмуудыг командын мөрөнд болон бүрхүүлийн скрипт дээр тус тус бичиж ирсэн.
Гэсэн хэдий ч Awk нь Shell-ийн нэгэн адил орчуулагдсан хэл тул энэ цувралын эхнээс бидний туулж өнгөрүүлсэн бүх зүйлсийн дагуу та одоо Awk-ийн гүйцэтгэх скриптүүдийг бичих боломжтой.
Бид бүрхүүлийн скрипт бичдэгтэй адил Awk скриптүүд дараах мөрөөр эхэлдэг.
#! /path/to/awk/utility -fЖишээлбэл, миний систем дээр Awk хэрэгсэл нь /usr/bin/awk дотор байрладаг тул би Awk скриптийг дараах байдлаар эхлүүлэх болно:
Цааш унших →Бидний өнөөг хүртэл авч үзсэн бүх Awk жишээнүүдийг авч үзэхэд, зарим нөхцөл дээр үндэслэн текст шүүх үйлдлүүд эхэлснээс хойш урсгалын хяналтын мэдэгдлийн арга барил эндээс эхэлдэг.
Awk програмчлалд урсгалын хяналтын янз бүрийн мэдэгдлүүд байдаг бөгөөд үүнд:
Бид бүрхүүлийн скрипт бичихдээ ихэвчлэн скриптдээ Awk үйлдлүүд гэх мэт жижиг програмууд эсвэл командуудыг оруулдаг. Awk-ийн хувьд бид бүрхүүлээс зарим утгыг Awk үйлдлүүд рүү дамжуулах арга замыг олох хэрэгтэй.
Үүнийг Awk командууд доторх бүрхүүлийн хувьсагчдыг ашиглан хийж болох ба цувралын энэ хэсэгт бид Awk командууд руу дамжуулахыг хүссэн утгыг агуулсан бүрхүүл хувьсагчдыг Awk-д хэрхэн ашиглахыг сурах болно.
Бүрхүүлийн хувьсагчдыг ашиглахын тулд Awk-г идэвхжүүлэх хоёр арга бий:
Awk команд дахь бүрхүүлийн хувьсагчийн утгыг орлуулахын тулд
Цааш унших →Цувралын энэ хэсэгт Awk функцүүдийн хэсгийг нээхдээ бид Awk-д суурилагдсан хувьсагчийн тухай ойлголтыг авч үзэх болно. Awk-д ашиглаж болох хоёр төрлийн хувьсагч байдаг бөгөөд эдгээр нь; Бид 8-р хэсэгт авч үзсэн хэрэглэгчийн тодорхойлсон хувьсагч ба суулгагдсан хувьсагч.
Суурилуулсан хувьсагчид Awk-д аль хэдийн тодорхойлогдсон утгуудтай байдаг, гэхдээ бид мөн эдгээр утгуудыг анхааралтай өөрчлөх болом
Цааш унших →Awk командын цуврал нь сэтгэл хөдөлгөм болж байна, миний бодлоор өмнөх долоон хэсэгт бид Линукс дээр үндсэн текст эсвэл мөр шүүлтүүрийг гүйцэтгэх боломжийг олгохын тулд эзэмших шаардлагатай Awk-ийн зарим үндсийг үзсэн.
Энэ хэсгээс эхлэн бид илүү төвөгтэй текст эсвэл мөр шүүлтүүрийн үйлдлүүдийг зохицуулахын тулд Awk-ийн урьдчилсан хэсгүүдэд шумбах болно. Тиймээс бид хувьсагч, тоон илэрхийлэл, хуваарилалтын оператор зэрэг Awk функцуудыг авч үзэх болно.
Цааш унших →Awk хэрэгслийн цувралын өмнөх хэсгүүдэд бид ихэвчлэн файл(ууд) дахь оролтыг уншихыг авч үзсэн боловч хэрэв та STDIN-ийн оролтыг уншихыг хүсвэл яах вэ.
Awk цувралын 7-р хэсэгт бид файлын оролтыг уншихын оронд бусад командын гаралтыг шүүж болох цөөн хэдэн жишээг авч үзэх болно.
Бид ls командаас эхлэх бөгөөд доорхи эхний жишээнд бид dir -l командын гаралтыг Awk-ийн оролт болгон эзэмшигчийн хэрэглэгчийн нэр, бүлгийн нэр болон одоогийн байгаа файлуудыг хэвлэхэд ашигладаг. лавлах:
# dir -l | awk '{print $3, $4, $9;}' Цааш унших →