[megoldva] szavakat keresek

Időnként meg kellene keresnem néhány angol szót pár száz karaktersorban.

Mivel ritkán jön ez a feladat, eddig leginkább szemmel futottam át a listát, de minden egyes alkalommal eszembe jutott, hogy automatizálnám.

Na ma tettem egy próbát. Feltettem a Debianból a cracklib-runtime csomagot, amiben van egy cracklib-check parancs, ami ügyesen megmondja hosszabb szavakról, hogy benne vannak-e a könyvtárban vagy nem.

A gondom az, hogy csak 6 betűs vagy hosszabb szavakat hajlandó keresni.

$ cracklib-check
alive
alive: it is too short

Nekem 3, 4 és 5 betűs szavakat is meg kellene találnom. Nem találok beállítási lehetőséget vagy paramétert, ahol a minimum szóhosszt meg lehetne változtatni.

Mielőtt valaki azzal jönne, hogy 6 karakternél rövidebb jelszó túl rövid, leszögezném, hogy nem jelszóként használt karaktersorokról van szó.

Valaki tudja-e, hogy a) hogy lehet a cracklibet arra rábeszélni, hogy rövidebb szavakat is megvizsgáljon, vagy b) mi mást használhatnék, ami kb. ugyanezt tudja, de rövidebb szavakra is?

Hozzászólások

Ja, kereket sok mindenben fel lehet találni, de felesleges, mikor a grep ott van minden Linux disztrón és unixlike rendszeren, és csak egy sor használni. Pont ez a lényege az egész unixos világnak, hogy tele van ilyen apróbb, hasznos toolokkal (és a hozzájuk tartózó man dokumentációval minimum), mint a grep, find, sed, awk, tr, cut, head, tail, uniqe, column, look, shuf, sort, wc, diff, dd, iconv, seq, stb., és ezeknek az egymásba pipe-olásával a szöveges (plain text) problémák 99%-a lefedhető, max 1-2 sorból, épp így programozáshoz, számolásokhoz, fájlkezeléshez, rendszeradinisztrációhoz is ugyanilyen egyszerű legóelemek vannak. Az is igaz, hogy ezt szokni kell, meg érzéket fejleszteni, hogy hogyan lehet ezeket az apró parancsokat összekombinálni, hogy hasznosak legyenek, mert ugye az ember Windowson ahhoz van hozzászokva, hogy minden apróbb problémához le kell tölteni (még rosszabb esetben megvenni vagy warez-elni) egy kész, csak arra szabott, bloat GUI programot, ha meg olyan nincs, akkor meg kell írni, kereket újra feltalálni. Két teljesen más mentalitás, beidegződés.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Nekem miért hivatkozol Windowsra? Nem volt szó róla, csak Linuxot használok évtizedek óta. Munkahelyen ugyan van egy céges windows-os gépem is, azon szoktam áramkört meg nyákot tervezni. Ott biztosan nem programozok.

Amúgy egyetértek azzal, amit írtál, csak annyira egyszerű a probléma, hogy ha valakinek nincs ott a utility a fejében, akár írhat is rá programot.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Általános felvetésként szántam, bocsánat, ha félreérthetően úgy látszott, hogy neked címzem. Egyébként meg veteránoknak sem értelmetlen Windowsra hivatkozni, mert szerintem sokunkban lehet még ilyen windowsról visszamaradt beidegződés, nyilván ez idővel egyre kevesebb lesz, de nálam pl. évek múltán is tetten érhető volt egész apróságokon, fájlok szervezése, kiterjesztések használata, grafikus célprogramk keresése, stb.. Általában annak okoz nagy gondot, aki először linuxozik, és nagyon frusztrálónak érzik, hogy egész más rendszer, mindent újra kell tanulni, a 0-ról. A legtöbben azzal a tévinfóval is szoktak nekikezdeni, hogy ez a Linux nevű izé egy ingyenes Windows-pótlék, ami úgy működik, mint a Windows, csak a logója, dizájnja más. Közben meg nem, mert egész más a működési logika, máshogy telepít programokat, máshol vannak a beállítások, egész más szoftvereket használ egy linuxos user, és ezt bizony idő megszokni, mire az embernek átáll rá az agya, és ott lesz minden ilyen utility a fejében. Nem is lehet siettetni, használni kell a rendszert a mindennapokban, minél többet, fő rendszerként, és igyekezni sorban a felmerült problémákat korrektül megoldani. Korrektül azt értem, hogy nem Wine-ben futtatott windowsos gányolás, meg nem valami kétes helyről származó kóddal malőrködés, hanem normálisan, lehetőleg terminálban, alap toolokkal, konfigfájlokat szerkesztve, natív csomagkezelőt normálisan használva, stb..

A program írásával nincs baj, de a legtöbb usernek nem járható út és időpocsékolás is. Néha szükség van egyébként rá, pl. mikor nem jó a shell scriptben futtatott toolhalmaz, mert adott esetben nem fut jó teljesítménnyel, bottleneckbe futsz vele, vagy olyan specialitás kell, amire tényleg nincs még kész megoldás, stb.. De ha lehet, el kell kerülni, mivel az esetek 99,9%-ban van rá már valamilyen megoldás. Pont ebben voltak jók a unixos nagy öregek, hogy erre nagyon korán rájöttek, hogy a legtöbb programozási (meg rendszeradminisztrációs) feladatban vannak állandóan ismétlődő részelemek (pl. bizonyos adatfájlok meg konfigfájlok parse-olása, input- és hibakezelés, formázás, dokumentálás, logolás, stb.), ezeket felesleges állandóan újra megírni, meg libként újra behúzni, include-olni a kódba, hanem elég belőle egy CLI toolt csinálni, amit csak hívogatni kell kész építőelemként. Az is igaz, hogy erre az ősi hardverek gyengesége is rákényszerítette őket, mert az akkori gépeknek pl. elég korlátozott volt a memóriája, és kénytelenek voltak az adott alkalmazást részműveletekre feldarabolni, hogy apránként beleférjen, és pipe-olással össze lehessen ezeket kötni. Mint utóbb kiderült, hogy ez nem csak kényszerből jó, hanem zseniális húzás is.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)