Puncte:1

Cum să tăiați un fișier în acest fel?

drapel us

Trebuie să tai un fișier lung (aprox. 2 milioane de rânduri) la linia care urmează linia la care există ultima apariție a unui cuvânt.

De exemplu, fișierul ar putea fi:

linia 1
randul 2 
....
cuvânt
linia n
cuvânt
linia n+2

Acest fișier ar trebui tăiat la a doua apariție a cuvânt, deci rândurile care urmează linia n+2 (și și acea linie) ar trebui abandonată.

Problema este că nu știu dinainte de câte ori cuvânt apare în dosar.

bac0n avatar
drapel cn
`IFS=: citiți un _
drapel us
@bac0n Mulțumesc că ai făcut trucul
Puncte:0
drapel cn

Presupunând că „cuvântul” sau textul marcatorului nu apare în niciuna dintre rândurile care precedă al doilea „cuvânt”, atunci acesta ar trebui să facă treaba:

awk '{if($0!="cuvânt"){print} else {c=c+1;{print} if(c==2){exit}}}' în fișier > în fișier

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.