Puncte:0

Potrivirea modelului Grep nu funcționează?

drapel bd

Am un fișier text ca acesta:

„Id","Numele districtului","Numele cartierului","Strada","Ziua săptămânii","Lună","Ziua","Ora","O parte din zi","Văziuni ușoare","Văziuni grave" ,"Victime","Vehicule implicate","Longitudine","Latitudine"
"2017S008429 ","Necunoscut","Necunoscut","Número 27 ","Vineri","Octombrie",13,8,"Dimineața",2,0,2,2,2.12562442,41.34004482
"2017S007316 ","Unknown","Unknown","Número 3 Zona Franca / Número 50 Zona Franca ","Vineri","Septembrie",1,13,"Morning",2,0,2,2,2.12045245, 41.33942606
"2017S010210 ","Necunoscut","Necunoscut","Litoral (Besòs) ","Vineri","Decembrie",8,21,"După-amiază",5,0,5,2,2.1673561,41.3608855
"2017S006364 ","Unknown","Unknown","Número 3 Zona Franca ","Vineri","Iulie",21,2,"Noapte",1,0,1,2,2.12452894,41.33766786
„2017S004615 ","Sant MartÃ","el Camp de l'Arpa del Clot","Las Navas de Tolosa ","Joi","Mai",25,14,"După-amiază",1,0,1,3 ,2,185272,41,416365
"2017S007775 ","Sant MartÃ","el Camp de l'Arpa del Clot","Indústria / Trinxant ","Miercuri","septembrie",20,12,"Dimineaţa",1,0,1,2, 2.183245,41.416336
"2017S004484 ","Sant MartÃ","el Camp de l'Arpa del Clot","Trinxant / Indústria ","Sâmbătă","Mai",20,21,"După-amiază",1,0,1,2, 2.183245,41.416336
"2017S010680 ","Sant MartÃ","el Camp de l'Arpa del Clot","Indústria ","Marti","Decembrie",26,20,"După-amiază",2,0,2,1,2.183561, 41,416372
"2017S005152 ","Sant MartÃ","el Camp de l'Arpa del Clot","Indústria ","Luni","Iunie",12,15,"După-amiază",1,0,1,1,2.184059, 41,416763
"2017S003932 ","Sant MartÃ","el Camp de l'Arpa del Clot","Maragall ","Miercuri","Mai",3,20,"După-amiază",1,0,1,1,2.181225, 41,413958
"2017S010348 ","Sant MartÃ","el Camp de l'Arpa del Clot","Indústria ","Joi","Decembrie",14,20,"După-amiază",1,0,1,2,2.18229, 41,415772
"2017S000245 ","Sant MartÃ","el Camp de l'Arpa del Clot","ST ANTONI M CLARET / Pg Maragall ","Miercuri","ianuarie",11,7,"Dimineata",1,0, 1,2,2,180453,41,41579
"2017S005695 ","Sant MartÃ","el Camp de l'Arpa del Clot","Sant Antoni Maria Claret / Guinardó ","Vineri","Iunie",30,12,"Dimineaţa",1,0,1 ,2,2,18114,41,416295
"2017S007384 ","Sant MartÃ","el Camp de l'Arpa del Clot","Sant Antoni Maria Claret ","luni","septembrie",4,16,"Apter-amiaza",0,1,1,2 ,2,176324,41,412546
"2017S008080 ","Sant MartÃ","el Camp de l'Arpa del Clot","Sant Antoni Maria Claret ","sâmbătă","septembrie",30,19,"După-amiază",1,0,1,2 ,2,176324,41,412546
"2017S003439 ","Sant MartÃ","el Camp de l'Arpa del Clot","Còrsega / Còrsega ","luni","aprilie",17,14,"Apter-amiaza",1,0,1,2, 2.178314,41.410784
"2017S002410 ","Sant MartÃ","el Camp de l'Arpa del Clot","CÃRSEGA / Dos de Maig ","Sâmbătă","Martie",25,14,"După-amiază",4,0, 4,2,2,177719,41,410323
"2017S009296 ","Sant MartÃ","el Camp de l'Arpa del Clot","Indústria ","Joi","noiembrie",9,22,"Noapte",1,0,1,1,2.17674, 41,411445

Am incercat ceva de genul:

grep "May ,25" $1

Unde $1 este numele fișierului pe care îl introduce utilizatorul. Deci, practic, ar trebui să găsească rândurile care conțin data 25 mai, dar nu afișează absolut nimic. Știu cu siguranță că există rânduri care conțin data 25 mai.

Am încercat și următoarele, dar tot nu funcționează:

grep "\"Mai\" ,25" $1

ce fac greșit?

Puncte:2
drapel hr

Citatele sunt și ele caractere - fișierele dvs. nu conțin mai, 25, contine „Mai”, 25. Asa de

grep „Mai”, 25” „$1”

sau

grep "\"Mai\",25" "$1"

(dar nu grep "\"Mai\" ,25" "$1" - spatiile sunt si ele caractere).

Sau puteți folosi un instrument care știe CSV care înțelege citarea CSV:

mlr --csv filter „Lună == „Mai” && Ziua == 25”

csvgrep -c Luna -m mai „$1” | csvgrep -c Ziua -m 25
Yunfei Chen avatar
drapel bd
Mă întrebam că am un fișier ca fișier1.txt care are toate datele formatate ca acesta, așa cum are „May”,25 și am vrut să găsesc datele din acest fișier care se potrivesc cu cele de pe celălalt, deci Am încercat ```cat file1.txt | xargs -I{} grep -E {} "$1"``` dar evident că nu funcționează, deoarece ghilimelele trebuie să fie eliminate, există o soluție simplă pentru asta?
drapel hr
@YunfeiChen `grep` are deja capacitatea de a citi o listă de modele dintr-un fișier (acestea trebuie totuși să fie unul pe linie) - `grep -f fișier1.txt "$1"` (sau `grep -F -f fișier1. txt "$1"` deoarece datele sunt simple șiruri fixe mai degrabă decât expresii regulate).

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.