Yadda ake ba da izinin Awk ya yi amfani da sauye-sauyen Shell - Part 11


Lokacin da muke rubuta rubutun harsashi, yawanci muna haɗa wasu ƙananan shirye-shirye ko umarni kamar ayyukan Awk a cikin rubutun mu. Game da Awk, dole ne mu nemo hanyoyin wuce wasu dabi'u daga harsashi zuwa ayyukan Awk.

Ana iya yin wannan ta amfani da masu canjin harsashi a cikin umarnin Awk, kuma a cikin wannan ɓangaren jerin, za mu koyi yadda za mu ƙyale Awk ya yi amfani da masu canjin harsashi waɗanda ƙila su ƙunshi ƙimar da muke son wuce zuwa umarnin Awk.

Akwai yuwuwar hanyoyi biyu da zaku iya kunna Awk don amfani da masu canjin harsashi:

1. Amfani da Shell Quoting

Bari mu ɗauki misali don kwatanta yadda za ku iya amfani da haƙiƙanin yin amfani da kwatancen harsashi don musanya darajar canjin harsashi a cikin umarnin Awk. A cikin wannan misali, muna so mu nemo sunan mai amfani a cikin fayil /etc/passwd, tace da buga bayanan asusun mai amfani.

Don haka, za mu iya rubuta rubutun test.sh tare da abun ciki mai zuwa:

#!/bin/bash

#read user input
read -p "Please enter username:" username

#search for username in /etc/passwd file and print details on the screen
cat /etc/passwd | awk "/$username/ "' { print $0 }'

Bayan haka, ajiye fayil ɗin kuma fita.

Fassarar umarnin Awk a cikin rubutun test.sh da ke sama:

cat /etc/passwd | awk "/$username/ "' { print $0 }'

\/$username/\ - furucin harsashi da ake amfani dashi don musanya darajar sunan mai amfani da harsashi a cikin umarnin Awk. Darajar sunan mai amfani shine tsarin da za a bincika a cikin fayil /etc/passwd.

Lura cewa zance biyun yana wajen rubutun Awk, '{buga $0 }'.

Sa'an nan kuma sanya rubutun ya zama mai aiwatarwa kuma ku gudanar da shi kamar haka:

$ chmod  +x  test.sh
$ ./text.sh 

Bayan gudanar da rubutun, za a sa ka shigar da sunan mai amfani, rubuta sunan mai amfani kuma ka danna Shigar. Za ku duba bayanan asusun mai amfani daga fayil ɗin /etc/passwd kamar yadda ke ƙasa:

2. Yin Amfani da Ayyukan Canji na Awk

Wannan hanya ta fi sauƙi kuma mafi kyau idan aka kwatanta da hanyar da ke sama. Yin la'akari da misalin da ke sama, za mu iya gudanar da umarni mai sauƙi don cim ma aikin. A ƙarƙashin wannan hanyar, muna amfani da zaɓin -v don sanya canjin harsashi zuwa mabambanta Awk.

Da farko, ƙirƙirar canjin harsashi, sunan mai amfani kuma sanya masa sunan da muke son bincika a cikin fayil ɗin /etc/passwd:

username="aaronkilik"

Sannan rubuta umarnin da ke ƙasa kuma danna Shigar:

# cat /etc/passwd | awk -v name="$username" ' $0 ~ name {print $0}'

Bayanin umarnin da ke sama:

  1. -v - Zaɓin Awk don ayyana mai canzawa
  2. sunan mai amfani - shine canjin harsashi
  3. suna - shine Awk m

Mu kalli $0 ~ suna a cikin rubutun Awk, $0 ~ suna {print $0}. Ka tuna, lokacin da muka rufe ma'aikatan kwatancen Awk a cikin Sashe na 4 na wannan jerin, ɗaya daga cikin masu aiki da kwatancen shine ƙima ~, wanda ke nufin: gaskiya idan ƙimar ta yi daidai da tsarin.

The output($0) na umarnin cat da aka buga zuwa Awk yayi daidai da tsarin (aaronkilik) wanda shine sunan da muke nema a /etc/passwd, sakamakon haka, aikin kwatanta gaskiya ne. Ana buga layin da ke ɗauke da bayanan asusun mai amfani akan allon.

Kammalawa

Mun rufe wani muhimmin sashe na fasali na Awk, wanda zai iya taimaka mana amfani da masu canjin harsashi a cikin umarnin Awk. Sau da yawa, zaku rubuta ƙananan shirye-shiryen Awk ko umarni a cikin rubutun harsashi saboda haka, kuna buƙatar samun cikakkiyar fahimtar yadda ake amfani da masu canjin harsashi a cikin umarnin Awk.

A kashi na gaba na jerin Awk, za mu nutse cikin wani sashe mai mahimmanci na abubuwan Awk, wato kalamai masu sarrafa kwarara. Don haka ku kasance cikin shiri kuma mu ci gaba da koyo da rabawa.