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)
 

Top články z OpenOffice.cz

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 a pravidlech 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



Public Relations

QNAP uvedl novou modelovou řadu NAS TVS-x82T

Společnost QNAP uvedla na trh novou modelovou řadu NAS TVS-x82T, kterou tvoří tři různé modely (TVS-1282T, TVS-882T a TVS-682T). Nová řada je založena na vícejádrových procesorech Intel Core aktuální generace se 14nm výrobním procesem. Díky nim mohou nové NASy nabídnout dostatek výkonu i pro aplikace náročné na CPU.

Pokračování ...


CIO Agenda 2016