Is eol go bhfuil cláir a bhfuil comhéadan grafach acu níos áisiúla le húsáid, ós rud é go bhfuil siad deartha le haghaidh riachtanais arda, móide ligeann an críochfort duit tascanna áirithe a réiteach i bhfad níos tapúla. Mar sin tá fóntais wc ann, is féidir leis líon na línte i gcomhad a chomhaireamh. Ní deir líon na línte mórán, ach i gcás ina gcuirtear roinnt orduithe le chéile, is féidir leat na línte a chomhaireamh, agus na paraiméadair riachtanacha á gcur san áireamh. Conas línte a chomhaireamh i gcomhad Linux? Breathnaímis ar chúpla sampla simplí ach éifeachtach d'úsáid na n-orduithe grep, sed agus awk.
Táimid tar éis breathnú ar an ordú WC cheana féin, anois ba chóir dúinn eolas a chur ar cheann dá phríomhpharaiméadair - -l
. Déanann sé comhaireamh ar aistrithe chuig líne nua, is é sin, déantar an líne iomlán a chomhaireamh, lena n-áirítear na cinn folamha. Déileálann an t-ordú leis an tasc níos tapúla ná na cinn eile go léir, ach ní féidir é a dhéanamh ach amháin i gcás línte áirithe - faoi choinníoll áirithe.
$ wc -l name_file $ grep -c $ name_file $ sed -n $= name_file $ awk 'END{ print NR }' name_file
Mar is féidir leat a fheiceáil, tá an toradh mar a chéile, ach thóg sé níos lú ama ar an ordú wc an tasc a chríochnú. Tá na horduithe eile infheidhme maidir le fiosrúcháin chasta. Ligeann an t-ordú grep duit línte le téacs amháin a aimsiú: grep -c 'text' file_name.
$ grep -c 'text' file_name
Láimhseálann an t-ordú grep nathanna rialta, ionas gur féidir leat coinníollacha iolracha cosúil le AGUS, NÓ, NACH bhfuil a chomhcheangal.
Nuair a bhíonn sed ag próiseáil téacs, tá sé i bhfad níos éasca comhaireamh línte deiridh a dhéanamh le wc. Is féidir leat gach líne atá níos lú ná trí charachtar ar fhad a bhaint, agus i gcásanna casta déantar an comhaireamh carachtar gan tráchtanna.
$ sed -r '/^.{,3}$/d' file_name | wc -l
Más tasc simplí atá ann, is féidir é a dhéanamh ar bhealaí eile. Beidh an t-ordú awk níos simplí agus níos soiléire.
$ awk 'length >3' file_name | wc -l
Chun léiriú a dhéanamh ar an gcaoi a n-oibríonn an t-ordú awk, déanaimis na sraitheanna a chomhaireamh agus an luach riachtanach i gcomhad tábla csv á lorg againn ag an am céanna.
Sa sampla, déanfaimid líon na sraitheanna a chomhaireamh a bhfuil luach an dara paraiméadair níos mó ná 50 iontu.
$ awk '$2+0 > 50' file_name | wc -l
Cuirimis 0 leis an slonn chun gach slonn neamh-uimhriúil a bhaint.