Puncte:-1

se potrivesc cu toate articolele pe care le am suficient pentru a le permite. regex simplu

drapel in

Luând un tutorial Linux auto-ghidat și mă tot agățam de asta

Ieșirea mea continuă să includă „ceasul 15”, vă rugăm să ajutați

#!/bin/sh
#comentați un singur RegEx pentru a se potrivi cu toate articolele pentru care aveți suficiente rupii 
sed '1d' hw0207.txt | grep -v [2-9][0-9]
#comment grep va filtra toate numerele mai mari de 12, -v reprezintă nu
#comment first sed a fost de a elimina prima linie

regex pentru a potrivi direcțiile

Încerc să scriu un singur RegEx pentru a se potrivi cu toate articolele pentru care aveți suficiente rupii. cu nu potriviți doar liniile, ar trebui să potriviți liniile pe care vi le puteți permite, astfel încât, dacă prețurile se schimbă, răspunsul să fie în continuare corect. Ai doar 12 rupii, dacă vrei să cumperi ceva mai mult, va trebui să fii puțin mai bogat.

Fișier de intrare (hw0207.txt) Rezultat așteptat pentru script
costul articolului
ulei de lampă 5
frânghie 10
ceasul 15
bombe 20
drapel ar
Ce distro și versiune de Linux folosești? Regex este să excludă numerele între 20 și 99. De aceea, 15 nu este exclus.
CryptoTrader avatar
drapel in
afișează doar ceea ce este peste 12 sau mai puțin
CryptoTrader avatar
drapel in
Vreau să afișeze numai elementele care sunt 12 sau mai puțin, chiar dacă valoarea articolului se modifică
CryptoTrader avatar
drapel in
Ubuntu 20.04.3 LTS
Puncte:0
drapel ar

Există multe moduri de a face acest lucru. Voi arăta două:

Exclude

Această metodă utilizează -v opțiunea în grep așa cum se arată în întrebarea de mai sus. O voi descompune în două seturi de numere separate prin condiția SAU. Primul set de numere include de la 13 la 19. Al doilea set de numere este de la 20 la 99. Dacă oricare dintre aceste condiții este îndeplinită, acestea nu vor fi selectate în rezultat.

sed '1d' hw0207.txt | grep -v '1[3-9]\|[2-9][0-9]'

Selectați

Această abordare selectează linii care au numere mai mici de 12. Încă o dată, o împărțim în două seturi de numere. Primul este numerele cu o singură cifră între 1 și 9, iar al doilea este numerele cu două cifre între 10 și 12.

sed '1d' hw0207.txt | grep ' [1-9]$\| 1[0-2]$'

Observați spațiile principale și $ la sfarsit.

Alternativ:

sed '1d' hw0207.txt | grep -w '[1-9]\|1[0-2]'

Sper că acest lucru vă ajută

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.