Charlie Hennessy:
--------------------------------------------------------------------------------
Ahoj, mám jeden dotaz. Mám soubor s asi 500 000-ci řádky. Potřeboval bych
prohledat celej soubor a smazat ty řádky, které NEobsahují na konci řádku
.cz

Porádí někdo? Moc děkuji.
--------------------------------------------------------------------------------


Moznosti je vic, ale zadna neni dokonala, zejmena zalezi na tom, zda ma zustat
zcela nezmeneny okolni text (vcetne prazdnych radek aj.)

Momentalne lze pouzit nahrazeni reg. vyrazu  
"^.*[^.][^c][^z]$"
za: "" (oboji bez uvozovek)
(toto neni idealni jednak proto, ze vyraz vyzaduje aspon tri znaky na radce
(ktere nesmeji byt .cz pred koncem radky - tj napr. radka obsahujici jen "ab" se
take neodstrani), hlavne ale proto, ze se neodstrani vlastni konec radky a
zustane po ni vertikalni mezera) - 
prazdne radky je mozne dodatecne odstranit v menu Upravy :: Operace s radky ::
Odstranit...

jina moznost je pouzit v hledacim dialogu (ne nahrazovacim) funkci "kopirovat" a
zadat reg. vyraz:
"^.*\.cz$"
Do noveho okna se vypisou radky koncici .cz (ovsem oproti predchozimu postupu
pouze tyto radky bez okolniho textu, prazdnych radku apod.)

Pripadne je mozne v hledacim dialogu zaskrtnout jeste "kopirovat nenalezene",
zadat: 
[^.][^c][^z]$
a pouzit opet "kopirovat" (opet s omezenim na spon triznakove radky)


Alternativne je mozne zkusit nektera skriptova rozsireni PSPadu, ktere hledaji a
nahrazuji viceradkove (http://forum.pspad.com/read.php?2,34061,
http://www.vbr.wz.cz/pspad/poor-man-s-REplace.html) 
V mem jednoduchem javascriptu z druheho linku by nahrazovaci retezec pro aspon
triznakovou radku byl:
/.*?[^.][^c][^z]
/g, ""

(naprosto si ale nejsem jist, jak se vyrovna s 500 tis. radky, na takhle
rozsahlem textu lze pocitat s problemy).

-- 
<http://forum.pspad.com/read.php?1,42776,42778>
PSPad freeware editor http://www.pspad.com

Odpovedet emailem