abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:00 | IT novinky

    Před rokem převzala Digitální a informační agentura (DIA) vlastnictví a provoz jednotné státní domény gov.cz. Nyní spustila samoobslužný portál, který umožňuje orgánům veřejné moci snadno registrovat nové domény státní správy pod doménu gov.cz nebo spravovat ty stávající. Proces nové registrace, který dříve trval 30 dní, se nyní zkrátil na několik minut.

    Ladislav Hagara | Komentářů: 2
    dnes 11:33 | IT novinky

    IBM kupuje za 11 miliard USD (229,1 miliardy Kč) firmu Confluent zabývající se datovou infrastrukturou. Posílí tak svoji nabídku cloudových služeb a využije růstu poptávky po těchto službách, který je poháněný umělou inteligencí.

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | IT novinky

    Nejvyšší správní soud (NSS) podruhé zrušil pokutu za únik zákaznických údajů z e-shopu Mall.cz. Incidentem se musí znovu zabývat Úřad pro ochranu osobních údajů (ÚOOÚ). Samotný únik ještě neznamená, že správce dat porušil svou povinnost zajistit jejich bezpečnost, plyne z rozsudku dočasně zpřístupněného na úřední desce. Úřad musí vždy posoudit, zda byla přijatá opatření přiměřená povaze rizik, stavu techniky a nákladům.

    Ladislav Hagara | Komentářů: 6
    včera 18:44 | Komunita

    Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.

    Ladislav Hagara | Komentářů: 32
    včera 17:55 | IT novinky

    Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | IT novinky

    Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.

    Ladislav Hagara | Komentářů: 5
    včera 12:11 | Nová verze

    Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.

    Ladislav Hagara | Komentářů: 4
    včera 05:22 | Komunita

    FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.

    Ladislav Hagara | Komentářů: 0
    včera 03:22 | Nová verze

    Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    7.12. 15:11 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.

    Ladislav Hagara | Komentářů: 12
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 448 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass

    29.4.2018 12:31 hujer
    Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass
    Přečteno: 284×

    Zdravím. Prvotní motivace pro tento dotaz je strojový překlad titulků ve formátu *.ass. Google umí jen *.srt a *.sub, pokud mu to naservíruju jako kompletní text, v překladu zmrší znakové sekvence.

    Takže mě napadlo (sekvence 0,0,0,, je před každým textem a nikde jinde):

     1. grep -oP '(?<=0,0,0,,).*' titulky.ass > vystup.txt

    2. Tím získám soubor, kde každá textová linka je na novém řádku. Ten můžu bez problémů prohnat překladačem.

    3. A teď musím přeloženými řádky nahradit ty původní. Pro každý řádek s 0,0,0,, v souboru titulky.ass nahraď to, co je za 0,0,0,, tím řádkem ze souboru vystup.txt.

    Pomohli byste mi prosím s třetím bodem? Díky.

    Odpovědi

    29.4.2018 12:53 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass
    Zkusil bych AWK getline.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    29.4.2018 15:49 hujer
    Rozbalit Rozbalit vše Re: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass

    Na getline jsem se díval, nepochopil jsem, jak jej v mém případě použít. Zatím umím přečíst řádek ve vystup a i pomocí sed to nahradit. Jenom to zatím ale nahrazuje úplně všechny, takže už mu jen nějak říct, aby nahradil pouze první výskyt po předchozím:

    cat vystup | while read -r line; do
    sed "s/0,0,0,,.*/0,0,0,,$line/" tit.ass > kontrolni
    done
    29.4.2018 17:15 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass
    awk '/0,0,0/{getline <"preklad.ass"} {print}' original.ass
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    29.4.2018 19:00 hujer
    Rozbalit Rozbalit vše Re: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass

    Díky. Tohle přepíše všechny řádky obsahující 0,0,0 na řádek z překladu. Je však potřeba zachovat původní řádek až po 0,0,0,, včetně a to za tím nahradit překladem. Např.

    originál:

    Dialogue: 0,0:00:07.50,0:00:09.90,film_Italics,Kaz,0,0,0,,Simple original

    Dialogue: 0,0:00:09.50,0:00:09.90,film_Italics,Kaz,0,0,0,,Two

    překlad:

    Jednoduchý originál

    Dva

    výsledek:

    Dialogue: 0,0:00:07.50,0:00:09.90,film_Italics,Kaz,0,0,0,,Jednoduchý originál

    Dialogue: 0,0:00:09.50,0:00:09.90,film_Italics,Kaz,0,0,0,,Dva

    29.4.2018 19:54 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass
    Mohl jsi mi ten vzorek dat poslat rovnou, abych to měl na čem otestovat.
    awk '/0,0,0,,/{sub("0,0,0,,.*$", "0,0,0,,"); line=$0; getline <"preklad.ass"; $0=line $0;} {print}' original.ass
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    29.4.2018 22:18 hujer
    Rozbalit Rozbalit vše Re: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass

    Jo no. Chtěl jsem na to přijít, ale jak tak vidím, mám ve zpracování textu veliké mezery. Děkuji za to awk, funguje jak má. S malou úpravou jsem vytvořil skript, který všechny *.ass v dané složce přeloží pomocí Google translate na P-*.ass. Je nutné nainstalovat balík apt install translate-shell

    for file in *.ass; do
    grep -oP '(?<=,,).*' "$file" > vycuc.txt
    sed -i 's/\\N//g' vycuc.txt
    sed -i 's/^ *//' vycuc.txt
    trans sk:cs file://./vycuc.txt > preklad.txt
    awk '/,,/{sub(",,.*$", ",,"); line=$0; getline <"preklad.txt"; $0=line $0;} {print}' "$file" > "P-$file"
    done
    rm *.txt
    David Watzke avatar 29.4.2018 13:06 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Nahrazení části řádku v souboru řádkem z jiného souboru, aneb řešení strojového překladu *.ass
    Na to bych použil třeba python a procházel oba soubory po řádcích.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.