Puncte:0

liniile de eliminare includ valori mai mari decât pragul determinat

drapel in

Am un fișier de date precum:

date:

arht -0,1006 0,0001 0,0147 100 arht 0,0012 -0,0002 0,0182 100
arht -0,0006 1,0006 0,0133 100 arht 0,1011 0,0003 0,0175 100
bcmn 0,0005 0,0011 0,0165 100 bcmn 0,0015 0,0007 0,0197 100
ffgf -0,0009 0,0012 0,0121 100 ffgf 0,0007 0,0010 0,0150 100
ffgf -0,0004 0,0009 0,0105 100 ffgf 0,1008 0,0006 0,0151 100

Folosesc următoarea comandă pentru a extrage liniile care includ valorile mai mari decât 0,10 absolut pentru coloanele 2-3-4 și 7-8-9:

awk 'sqrt($2*$2)<=.1 || sqrt($3*$3)>=.1 || sqrt($4*$4)>=.1 || sqrt($7*$7)>=.1 || sqrt($8*$8)>=.1 || sqrt($9*$9)>=.1 {print}' date > output

Trebuie să elimin aceste linii din fișierul de date. Cum pot modifica codul de mai sus?

Puncte:0
drapel cn

Pare o întrebare duplicat Extragerea valorilor mai mari decât un prag din fișierul text? Dacă da, trebuie să corectați primul termen al codului dvs.:

awk 'sqrt($2*$2)>=.1 || sqrt($3*$3)>=.1 || sqrt($4*$4)>=.1 || sqrt($7*$7)>=.1 || sqrt($8*$8)>=.1 || sqrt($9*$9)>=.1) {print}' date >ieșire

Apoi, tot ce trebuie să faceți este să adăugați un semn de negare (!) în față pentru a obține ceea ce doriți:

awk '!(sqrt($2*$2)>=.1 || sqrt($3*$3)>=.1 || sqrt($4*$4)>=.1 || sqrt($7*$7)>=.1 || sqrt($8*$8)>=.1 || sqrt($9*$9)>=.1) {print}' date > output

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.