Hogyan menthetem el egy változóba egy fájl azon sorainak számát, amik csak kisbetűkből, szóközből és a sor végén line feedből állnak bashben?
Eddig így próbálkoztam:
count=`grep -nEx -c '([ a-z]+\n$)' $file`
Ez így helyes? Mert mindenhová 0=t ír, bármilyen fájllal próbálkozom. És ha cat -evel megnézem a fájlt, akkor ott van mindegyik végén a $.
Az x azt jelzi hogy a mintát a sorokra illeszti rá. A sor nem tartalmaz \n karaktert, mert az már azt jelenti hogy vége van a sornak. Ehelyett a $ jel jelzi a sor végét itt, de az teljesen opcionális hiszen az x amúgy is az egész sorra illeszti a mintát, nem kell jelezni hogy hol van a sor vége. A groupolás felesleges, az -n kapcsoló redundáns, hiszen nem akarjuk a sorokat kiíratni.
grep -Exc '[a-z ]+' $file
Nekem ezzel sikerult elojonnom:
egrep -i '^[a-z[:space:]]*$' file.txt
Köszönöm! Bár nem értem, hogy mi a baj a programommal:
<script src=" [link] type="text/javascript" ></script>
Az lenne a feladat, hogy argumentumban megadunk egy könyvtárat, ami kilistáz minden benne lévő regular filest, nagyságuk szerint sorrendbe rakja(legkisebbtől a legnagyobbig), majd melléjük írja azoknak a soroknak a számát, ami csak szóközt, kisbetűt és a végén line feedst használ. A futtatás után én mindent rendben találok, azonban a tanáro által készített test eltérést mutat, de nem mondják meg, hogy hol, szóval valahogy rá kell jönni a hibára, és nem tudom, hogy hol lehetne...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!