abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 9
    včera 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

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

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    4.6. 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 11
    Rozcestník

    Dotaz: Vim vložit rádek na určitou pozici v souboru

    29.4.2019 12:57 Jack Hokus | skóre: 34 | blog: LostHeaven
    Vim vložit rádek na určitou pozici v souboru
    Přečteno: 311×
    Ahoj,

    potřeboval bych poradit. Mám webovou stránku, která obsahuje menu, které je dělané jako klasický seznam, tento seznam obsahuje každá stránka.

    Když potřebuji přidat nebo odebrat nějakou položku v menu, musím menu editovat na všech stránkách.

    Chtěl bych se zeptat, jak by to šlo udělat ve VIMu najdednou. Něco se mi podařilo najít.

    Takto lze otevřít všechny soubory s příponou .html - :n ./**.html. Nahrazení textu by se dalo udělat třeba takto - :bufdo %s/Windows/linux/.

    Poznámka:Tento příklad je jen ilustrační, vytvořil jsem si dva soubory v obou řádek textu a nahradil jsem slovo Windows slovem Linux.

    Děkuji

    Petr

    http://www.jackhokus.cz/

    Odpovědi

    29.4.2019 14:12 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    Řekl bych, že používáš špatné kladivo. Na tyhle úkoly se hodí líp třeba sed nebo perl.
    Užívej dne – možná je tvůj poslední.
    29.4.2019 19:18 ed
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    vim (v příkazovém režimu) je v podstatě ed (resp. ex) a tím pádem jako sed. Tzn. řádek vložíme příkazem a. Lze kombinovat s bufdo:
    :a2
    test
    .
    
    vloží text / řádek:

    test
    
    za druhý řádek v souboru.
    :/pokus/
    test
    .
    
    udělá totéž za (prvním od aktulální pozice) řádkem obsahujícím pokus
    29.4.2019 14:21 debian+
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    Musi to byt vo vim? Tu mas v php (neosetruje chyby, okrem ak nenajde subory, nerobi nic):
    html subor (nutne minimum pre kod):
    <header>
    	<ul>
    		<li>jeden</li>
    		<li>dva</li>
    		<li>dva</li>
    	</ul>
    </header>
    
    PHP kod:
    <?
    
    define("CESTA_K_PRIECINKU", ".");
    
    function najdi_vsetky_subory()
    {
    	$cesta=CESTA_K_PRIECINKU;
    	$subory=`find $cesta -name "*.html"`;
    	$subory_pole=explode("\n", $subory);
    	unset($subory_pole[count($subory_pole)-1]);
    	
    	return $subory_pole;
    }
    
    function prida_polozku_menu($path_file, $html_item)
    {
    	$html=file_get_contents($path_file);
    	
    	/* hlada koniec menu v header */
    	$poz=strpos($html, '<header');
    	$poz=strpos($html, "\n\t</ul",$poz); /* hlada ul so zac. riadku */
    	
    	/* vytvara novy subor v pamety */
    	$subor=substr($html, 0, $poz);
    	$subor.=$html_item;
    	$subor.=substr($html, $poz);
    	
    	file_put_contents($path_file, $subor);
    }
    
    function odobere_polozku_menu($path_file, $html_item)
    {
    	$html=file_get_contents($path_file);
    	
    	/* hlada koniec menu v header */
    	$html=str_replace($html_item, '', $html);
    	
    	file_put_contents($path_file, $html);
    }
    
    $subory_cesta=najdi_vsetky_subory();
    foreach($subory_cesta as $subor_cesta)
    {
    	echo $subor_cesta."\n";
    	
    	// ukazka pridania
    	prida_polozku_menu($subor_cesta, "\n\t\t<li>pridane</li>");
    	
    	// ukazka odobratia
    	odobere_polozku_menu($subor_cesta, "\t\t<li>jeden</li>\n");
    }
    ?>
    
    29.4.2019 17:05 debian+
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    vložit rádek na určitou pozici v souboru
    <?php
    
    /*
     * kladne cislo  - od zaciatku
     * kladne cislo neexistuje pozicia - prida na koniec
     * 0 - prida na koniec
     * zapocne cislo - prida od konca 
     * zapocne cislo neexistuje pozicia - neurobi nic
     */
    function pridaj_riadok($path, $position, $line)
    {
    	$riadky=file($path);
    	$pocet=count($riadky);
    	
    	if($position < (-$pocet))
    		return;
    	if($position < 0)
    		$index=$pocet+$position-1;
    	else
    		if($position == 0 || $position > $pocet)
    		{
    			$index=$pocet;
    			$riadky[$index]=$line."\n";
    			goto preskoc;
    		}
    		else
    			$index=$position-2;
    
    	$riadky[$index].=$line."\n";
    preskoc:
    	
    	file_put_contents($path, $riadky);
    }
    
    // pridaj_riadok('bla.html', 0, '<p>!!!</p>');
    
    ?>
    29.4.2019 17:15 pavele
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    :args ./*.html

    :argdo set ff=unix|w
    29.4.2019 20:21 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    Přesně kvůli tomu byly vyvinuty skriptovací jazyky, například PHP. Mohou generovat HTML či jiné formáty on-line či off-line. Stačí udržovat jeden soubor s menu a při jeho modifikaci vygenerovat novou sadu HTML.

    Nejraději na tohle používám XSLT, protože za mne řeší dost věcí lépe než různé frameworky a je to mnohem rychlejší. Menu, data i slovníky stačí udržovat v XML.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 29.4.2019 21:10 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    Správné řešení je navštívit https://www.staticgen.com/, vybrat si generátor statických webů a použít ten.

    Jinak koukni na ed (nikoliv sed) a napiš si pro něj skript. Stejné příkazy jdou použít i ve vimu. V dokumentaci ed (info ed) hledej "Line addressing" a "Commands".

    Trochu lepší řešení je umístit si do souboru značky (HTML komentáře na samostatné řádky) a mezi ně skriptem vkládat soubor s menu (a předtím odstranit starý obsah).
    Hello world ! Segmentation fault (core dumped)
    k3dAR avatar 29.4.2019 22:41 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Vim vložit rádek na určitou pozici v souboru
    # nahrazeni Windows za linux
    sed 's/Windows/linux/' -i *.html
    
    # nahrazeni vsech vyskytu (v kazdem radku)
    sed 's/Windows/linux/g' -i *.html
    
    # pridani radku "linux", nad radek zacinajici "Windows"
    sed 's/^Windows/Linux\nWindows/' -i *.html
    
    # pridani radku "linux", nad radek obsahujici jen slovo "Windows"
    sed 's/^Windows$/Linux\nWindows/' -i *.html
    porad nemam telo, ale uz mam hlavu... nobody

    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.