Tudtok olyan szoftverről, ami egy fájlban tárolt címkéket (label) képes keresni egy fájl halmazban (több mappában, almappában)?
Vagy készíteni kell egy programot, esetleg scriptet.
Ck. 100e címke megjelenését kellene végig ellenőrizni ck. 300 fájlban.
- 389 megtekintés
Hozzászólások
Én ezt így nem értem, szerintem más sem fogja. Van 300 fájl, eddig tiszta. Ezekben vannak címkék? Ki lehet olvasni egy fájlból a címkék listáját?
>100e címke megjelenését kellene végig ellenőrizni
Mi az, hogy megjelenés? Pontos egyezés? Hasonlóság? Ékezetek számítanak?
Honnan jön a százezer címke, amit ellenőrizni kell?
Mi az, hogy 100e? Százezer? Akkor több a címke mint a fájl. Szinte "Nem a címkét kell ellenőrizni a fájlban, hanem a fájlt a címkében."
Mi az hogy ck.? Cirka?
- A hozzászóláshoz be kell jelentkezni
Ha jól értelmezem a feladatot, akkor grep.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Na, nem sikerült értelmesen leírni :(
Tehát van egy fájlom, ahol egy sw összes globális változójának neve és egyéb tulajdonsága megjelenik (duplikátumok is vannak). Ez grep pluszt awk, készít egy kulcsszó halmazt.
Van egy másik könyvtár struktúra (mappák, almappák), tele kisebb scriptekkel, amelyek vagy tartalmazzák az előbbi halmazban fellelhető bármely címkét vagy sem.
Nekem egy olyan lista kellene, hogy mely (kisebb script) fájlokban található meg bármely kulcs szó a kulcs szó halmazból.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Így már jobb, de még mindig grep. Ajánlom figyelmedbe a -f, a -r és a -l kapcsolókat.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Esetleg valamiféle keresztreferencia-listát szeretnél készíteni?
Mint például amire itt hivatkoznak (+ még a fájlnév is fontos, ahol a hivatkozás előfordul)?
http://progalap.elte.hu/downloads/seged/eTananyag/lecke25_lap1.html#hiv4
"Share what you know. Learn what you don't."
- A hozzászóláshoz be kell jelentkezni
A legszebb az lenne, <full path><file name><some space or tab><global variable>
Kereszt referencia? - végül is nevezhetjük így. A lényeg, hogy mely scriptekben használják és melyik globális változót.
Kaptam néhány grep tippet, így még sosem használtam a grep -pet lehet ilyen egyszerű - mondjuk nem tudom mennyi idő alatt végez, menet közben nem túl szószátyár.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
,,nem túl szószátyár'': nem beszélgetőpartner, hanem szövegkereső program.
Ha baja van, például a parancssori paraméterezéssel, akkor ,,szólni'' fog.
"Share what you know. Learn what you don't."
- A hozzászóláshoz be kell jelentkezni
Én programot írnék rá: beolvasnám a kulcsszavakat egy keresőfába, majd végigmennénk a forrásokon és minden egyezésre adnék egy sort a kimenetbe. A ráció az benne, hogy így csak egyszer kell végigolvasni a fájlokat, és nem tudok olyan készen használható keresőről, ami egyszerre keres egy ekkora szótárból.
A másik - ésszerűbb - megoldás: az adott nyelvhez megkeresném a legfejlettebb fejlesztőeszközt és az egész kódot belapátolnám ebbe a rendszerbe. Ez pedig tudná a keresztreferenciák keresését és navigációját beindexelve gyorsan. Feltéve, hogy létezik az adott nyelvhez.
- A hozzászóláshoz be kell jelentkezni
Metszet tétel?
// Nekem sokat segítene, ha a két halmazt "A" és "B"-nek hívnád. :)
- A hozzászóláshoz be kell jelentkezni
én is erre szavaznék.
egyik halmazba címkék beolvas
másik halmazba a fájl kitisztított szószedete beolvas
kettő metszetének örül
- A hozzászóláshoz be kell jelentkezni
Most jövök rá: van egy szoftvered, amelyikben kb. 100000 globális változó van?
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Minden indián hazudik.
"Normális ember már nem kommentel sehol." (c) Poli
- A hozzászóláshoz be kell jelentkezni
Minden krétai hazudik.
- A hozzászóláshoz be kell jelentkezni
Most úgy tűnik, egyszerűbb (nekem) átnézni a scripteket, mivel szintaktikailag, a környezetükben beazonosíthatók. Sajnos nincs egy-két kifejezéssel megfogalmazható szabály :(
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Nem is kell ide semmilyen szabály. Mondtad, hogy van egy 100 ezres listád, az máris benne van egy fájlban. Duplikátumokat a uniq paranccsal tudod szűrni.
Utána meg:
cd script_dir
grep -r -f 100k_list.txt
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Viszont a uniq csak akkor szűr, ha az egymást követő sorok azonosak.
Érdemes előbb sort-tal rendezni.
"Share what you know. Learn what you don't."
- A hozzászóláshoz be kell jelentkezni
Ha már... akkor sort -u
De ez már nagyon részletkérdés.
- A hozzászóláshoz be kell jelentkezni
Nem csak akkor szűr.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Ha legközelebb kell ilyet csinálnom, újra gondolom. A windows környezet is okoz fejfájást - pl. honnan vegyek awk -ot, amivel a sorokon belülről ki tudom műteni ami kell.
Egyébként a kód végig nézése is tanulságos számomra. Rengeteg olyan dolgot találtam amit később hasznosíthatok - az is lassítja a dolgot hogy sokat jegyzetelek.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
> ...honnan vegyek awk -ot, amivel a sorokon belülről ki tudom műteni ami kell.
Bocs hogy ismétlem önmagam, de grep -o. Tudom, windows, ha awk nincs akkor grep sincs, de azért jó ha tudatosul, hogy greppel is ki lehet műteni soron belülről, ami kell.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
A windows környezet is okoz fejfájást - pl. honnan vegyek awk -ot, amivel a sorokon belülről ki tudom műteni ami kell.
WSL vagy WSL2.
- A hozzászóláshoz be kell jelentkezni
"honnan vegyek awk -ot" wsl2 vagy cygwin... Előbbiben /mnt/x, utóbbiban /cígdrive/x az x:\
- A hozzászóláshoz be kell jelentkezni
Milyen nyelv és van-e hozzá static code analyzer, pláne olyan, aminél lehet keresni a felépített adathalmazban?
- A hozzászóláshoz be kell jelentkezni
Draft:
find /itt/vannak/a/fajlok -type f -exec grep -f cimkelista {} +
- A hozzászóláshoz be kell jelentkezni