TCH (statz) | #1, Főfasz (10466) |
2281 | #3f5d | ^ | Idézet | Mon, 03 Oct 2016 14:41:40 +02 |
188.143.*.* | *.pool.digikabel.hu |
Miután végigszoptam a fél napot és kiolvastam a fél internetet, rá kellett, hogy jöjjek, hogy egyszerűen nincsen olyan tool, vagy akármi, ami lehetővé tenné, hogy egy könyvtárnyi fájlból két adott string között mindent kitakarítson, mert egyfelől replace between strings opció kurwára nincsen egyetlen tool-ban se, az agyonajnározott regexp meg nem eszi meg a new line/carriage return karaktereket alapból, a tool-ok adnak (vagy sem) kapcsolót rá, amivel kitörölhetem a létező összes seggem. • A sed-nél opció sincs, hogy egye meg a multiline patterneket... • A perl-nél ugyan van (s), csak épp kurwára nem működik! • Az awk ugyan működik, de ő meg nem tud in-place replacementet, csak berántja a fájlt és kiköpi a konzolra, azaz egyesével kéne az összes fájlon végigmászni vele! Az már csak hab a tortán, hogy case-independency-re csak olyan elbaszottul ostoba módon lehet rávenni, hogy vagy ráhúzunk egy tolower()-t az awk scriptünkben (tehát egysoros parancs kizárva) arra a stream-re, amiben keresünk, vagy belegányoljuk a paranccsorba az IGNORECASE változó beállítását. (Ez mondjuk még nem is akkora katasztróka, de azért bazdmeg: ennyire nehéz lenne belerakni erre egy kurwa kapcsolót?!) A neten pedig természetesen kizárólag olyan példák vannak, amik tökéletesen használhatatlanok; vagy komplett szkripteket adnak az igényelt egysoros parancs helyett, vagy agyonbonyolított, már-már az auto-obfuszkáltságba hajló, konvulens, brainfuck-like megoldásokat, amik aztán rohadtul nem mennek. Tehát ezt a roppant egyszerű és gyakori igényt a kibaszott számítástechnika informatika a mai napig nem tudja kielégíteni. Kurwa anyját az egésznek, ott ahol van, bazdmeg. Update: A gawk tud in-place replacementet és ezt az újabb awk verziók is átvették belőle, tehát a világ újra megmenekült hála a pindúrpandúroknak, lehet takarítani batch-ban a JS-t a HTML-ekből. Merthogy ennyi lett volna az nagy büdös igény: egysoros megoldás a JS-ek kiirtására egy raklap HTML-ben. Ja, a megoldás: gawk -i inplace '{IGNORECASE = 1} /<script/{p=1} /<\/script>/{p=0;next}!p' ./*Mondjuk ez is szép spagetti, de legalább megy. |