Puncte:2

folosind variabila în awk

drapel cx

Bună, aș dori să număr numărul de cuvinte cu lungimi specifice. Folosesc această comandă.

awk 'lungime == 2' mydict.txt | wc -l

acest cod dă ceea ce vreau, dar dacă încerc să pun variabilă în loc de numărul 2, nu funcționează. Codul este cam asa

awk 'lungime == $var' mydict.txt | wc -l

iar terminalul imprimă 0. Ce pot face?

αғsнιη avatar
drapel cn
nu este comanda cu care ai venit, nu face ceea ce ai spus "_`numărați numărul de cuvinte cu lungime specifică`_", numără numărul de linii având 2 ***caractere*** lungime numai nu _cuvinte_.
Puncte:5
drapel in

Variabilele nu vor fi extinse între ghilimele simple (').

În mod normal, puteți folosi pur și simplu ghilimele duble ("), dar pentru awk, aceasta nu este o soluție bună, deoarece va duce la probleme cu puțin mai complicate awk cod.

Mai bine atribuiți un awk variabilă cu -v:

awk -v var="$var" 'lungime == var' mydict.txt | wc -l

Cu toate acestea, nu este nevoie de wc -l, awk pot face asta pentru tine:

awk -v var="$var" 'lungime == var{n++} END{printare n}' mydict.txt

Ai putea folosi, de asemenea grep -c:

grep -c „^.\{$var\}\$” mydict.txt
kekekeke avatar
drapel cx
Multumesc mult pentru raspunsuri m-au ajutat foarte mult.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.