přejít na obsah přejít na navigaci

Linux E X P R E S, Jak jsem záplatoval

Jak jsem záplatoval

Jednoduchý příklad použití diff a patch ..


reklama

Dnes jsem potřeboval změnit v několika různých textových souborech jeden řádek jejich hlavičky, které jsou všude stejné. Konkrétně se jednalo o ne příliš šikovně umístěné (nastavené) číslo, které bylo třeba snížit. No a přesně k tomu se mi hodil patch a jeho kamarád diff.

Vytvoření souboru se změnou (diff)

Nejdřív jsem si jeden z měněných souborů zkopíroval a v jeho nově vytvořené kopii provedl požadovanou změnu. Dál jsem zavolal diff:

diff stary_soubor.txt nova_verze  > rozdil.diff

a vytvořil soubor se změnou.

Záplatování souborů (patch)

Dál už je možné rovnou záplatovat, záplatu jednoho souboru jsem vyzkoušel příkazem

patch -i rozdil.diff stary_soubor.txt

no a když bylo vše v pořádku (jak jinak), provedl to i se zbytkem

for i in *.txt ; do patch -i rozdil.diff $i; done;

Zdroje informací

http://www.abclinuxu.cz/clanky/navody/unixove-nastroje-8-diff-a-patch

Nahoru

(Jako ve škole)
 

Příspěvky

Jak jsem záplatoval
lzap 27. 10. 2010, 20:35:47
Odpovědět  Odkaz 
No já bych asi použil

sed -i ...
Miroslav Hrončok Re:Jak jsem záplatoval
Miro Hrončok 27. 10. 2010, 20:42:38
Odpovědět  Odkaz 
Přesně tak :)
Martin Šín Re:Re:Jak jsem záplatoval
Martin Šín 27. 10. 2010, 20:57:13
Odpovědět  Odkaz 
OK, super. Výměna se zredukovala na: sed -i 's/stare/nove/g' *.txt
Re:Re:Re:Jak jsem záplatoval
lzap 30. 10. 2010, 13:15:17
Odpovědět  Odkaz 
Nicméně i ten diff/patch by se dal obhájit a za některých situací by mohl být výhodnější, nicméně ať jsem přemýšlel jak jsem přemýšlel, na tu avizovanou jsem to nemohl "napasovat" ;-)
Jak jsem záplatoval
Honza 3. 11. 2010, 14:12:04
Odpovědět  Odkaz 
Nevíte někdo, jestli by se podobná metoda dala použít na nějakém robustnějším formátu dokumentů? Teoreticky to určitě možné je, ale prakticky jsem o tom zatím nic nenašel.

Mám na mysli podobné záměry třeba v hromadě odf nebo doc dokumentů. Co by na to sed říkal? :o) stream je to taky...

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Martin Šín

Martin Šín

Martin Šín (*1980) vystudoval pedagogickou fakultu a nyní pracuje jako učitel matematiky a výpočetní techniky na střední škole. Ve volném čase překládá a také hraje hry (ani jedno mu příliš nejde). V práci se snaží prosazovat open-source programy.


  • Distribuce: Debian
  • Hodnocení autora: **

| proč linux


Novinky

všechny novinky »

Redakční blog

Jirka Vrba

Jirka Vrba, 14. květen

LinuxEXPRES na Google Currents

Nedávno spustila společnost Google českou verzi služby Google Currents pod trochu matoucím názvem Google...


Jiří Eischmann

Jiří Eischmann, 08. květen

Nové návrhy pro GNOME 3

Co můžeme čekat v nadcházejících verzích GNOME. Designéři přišli s novými návrhy. 


Pavel Fric

Pavel Fric, 28. duben

Palapeli

Oddychovka pro volný čas. Ukázky zahradní techniky. Hádanka pro začátečníky i pokročilé


Všechny blogy »

Reklama