Puncte:0

Găsiți un număr specific de cuvinte cu majuscule unul lângă celălalt

drapel ci

Să presupunem că am un fișier .txt:

Aaa
Aaa Bbb
Aaa Bbb Ccc

Vreau să găsesc rândul care are un cuvânt cu majuscule, două cuvinte cu majuscule și trei cuvinte cu majuscule. Deci un grep pentru a găsi Aaa, un grep pentru a găsi Aaa Bbb și un grep pentru a găsi Aab Bbb Ccc. Acest lucru trebuie făcut pentru ca grep-ul care găsește Aaa Bbc să nu îl găsească pe cel cu Aaa Bbb Ccc (pentru că sunt aceleași cuvinte în el). ASA DE:

1 grep 
**Aaa**

2 grep
**Aaa Bbb**

3 grep
**Aaa Bbb Ccc**

Aceasta înseamnă că primul grep nu poate găsi Aaa în al doilea și al treilea și așa mai departe. Ele trebuie să funcționeze numai dacă una, două sau trei litere încep cu majuscule.

Salutări calde Anders

bac0n avatar
drapel cn
Ultima parte contrazice ceea ce este arătat în exemplu.
bac0n avatar
drapel cn
`grep -Pwo '^([^a-z]*[A-Z]\w*\b){1}[^A-Z]*$' text.txt | grep -Ev „[A-Z]{3,}” a fost cel mai bun lucru pe care l-am putut, cel puțin cu grep, nu cred că este posibil de făcut cu un singur grep
Anders Begtorp avatar
drapel ci
Trebuie să găsesc nume și să le număr.Așa că trebuie să aflu câte „John”, „John Johnsen” și „John Johnson Johny” sunt, de exemplu.
Anders Begtorp avatar
drapel ci
@bac0n exemplul tău face treaba pentru primul John (și exclude John Johnsen și John Johnson Johny, ceea ce este frumos!). Acum trebuie doar să aflu același lucru pentru ceilalți doi
Anders Begtorp avatar
drapel ci
Dar editând {1} în {2} și {3}, face treaba! Mulțumesc :-)
Anders Begtorp avatar
drapel ci
@bac0n Știi cum să o faci în rânduri? Ca să găsești acest lucru (pentru că are trei rânduri care se holbează cu majusculă): Aaa (linie nouă) Bbb (linie nouă) Ccc
bac0n avatar
drapel cn
Dacă vă înțeleg bine, puteți obține numărul de la al doilea `grep -Evc '[A-Z]{3,}'`
drapel in
Asta sună a temei
Will avatar
drapel id
De ce vrei să faci asta?

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.