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 14:22 | Zajímavý projekt

GitHub v příspěvku na svém blogu představil GitHub Sponsors. Jedná se o další z možností, jak finančně podpořit vývojáře open source softwaru. Podrobnosti v často kladených dotazech (FAQ).

Ladislav Hagara | Komentářů: 8
dnes 13:44 | Zajímavý software

Společnost Feral Interactive zabývající se vydáváním počítačových her pro operační systémy macOS a Linux vydala počítačovou hru Total War: Three Kingdoms (Wikipedie) pro Linux. Koupit ji lze za 59,99 €. Tentokrát byla verze pro Linux vydána ve stejný den jako verze pro Microsoft Windows.

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

Po téměř 11 měsících vývoje od vydání verze 5.28 byla vydána nová stabilní verze 5.30 programovacího jazyka Perl. Do vývoje se zapojilo 58 vývojářů. Změněno bylo přibližně 620 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.

Ladislav Hagara | Komentářů: 1
včera 16:44 | Nová verze

Bylo vydáno openSUSE Leap 15.1. Přehled novinek v nejnovější verzi této linuxové distribuce v oznámení o vydání a v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 11:55 | Nová verze

Byla vydána verze 3.14 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl aktualizován na verzi 8.5. Řešeno je také několik bezpečnostních chyb. Především bezpečnostní chyby v procesorech Intel.

Ladislav Hagara | Komentářů: 1
včera 11:33 | Nová verze

Byla vydána nová verze 2019.2 průběžně aktualizované linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek v seznamu změn. Současně byl ve verzi 2019.2 vydán také Kali Linux NetHunter (Wikipedie), tj. obrazy s nástroji z Kali Linuxu pro chytré telefony a tablety.

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

Vyšel webový prohlížeč Tor Browser, založený na Firefoxu (60.7) a zaměřený na ochranu soukromí, ve verzi 8.5. Mění vzhled, zlepšuje přístupnost a nově je prohlášen za stabilní na Androidu.

Fluttershy, yay! | Komentářů: 0
21.5. 16:11 | Nová verze

Byl vydán Mozilla Firefox 67.0. Přehled novinek v poznámkách k vydání a na stránce věnované vývojářům. Zdůraznit lze blokování těžby kryptoměn a otisku prohlížeče, viditelnější účet Firefoxu nebo rychlý přístup ke správci hesel.

Ladislav Hagara | Komentářů: 7
21.5. 03:33 | Komunita

Rozšířená podpora operačního systémy Microsoft Windows 7 skončí 14. ledna 2020. Poté je možné využít placené podpory, přejít na Windows 10 nebo prostě na Linux. Vláda Jižní Koreje zkouší Linux. Přechod na Linux včetně nákupu nových počítačů by ji měl vyjít na 655 milionů dolarů.

Ladislav Hagara | Komentářů: 33
21.5. 02:22 | IT novinky

CZ.NIC ODVR (Otevřené DNSSEC Validující Resolvery) nově podporují vedle DNS-over-TLS (DoT) také DNS-over-HTTPS (DoH). DoH lze vyzkoušet ve Firefoxu od verze 62, Chrome od verze 66 nebo Bromite od verze 67.

Ladislav Hagara | Komentářů: 0
GPU kterého výrobce aktuálně preferujete pro provoz Linuxu?
 (49%)
 (25%)
 (24%)
 (2%)
Celkem 338 hlasů
 Komentářů: 28, poslední 21.5. 04:02
Rozcestník

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

29.4. 12:57 Jack Hokus | skóre: 33 | blog: LostHeaven
Vim vložit rádek na určitou pozici v souboru
Přečteno: 256×
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. 14:12 finn | skóre: 42 | 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. 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. 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. 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. 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. 20:21 Kit | skóre: 43 | 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. 21:10 Josef Kufner | skóre: 68
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. 22:41 k3dAR | skóre: 54
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.