Portál AbcLinuxu, 10. května 2025 05:48

Dotaz: diff adresare a konfiguraku

11.9.2007 01:08 dik
diff adresare a konfiguraku
Přečteno: 467×
Odpovědět | Admin
Ahoj, mam dva dotazy: Jak nejlepe dostanu vypis zmenenych souboru mezi dva adresari? Jak zjistim zmeny mezi dvema konfiguraky ,kdyz chci ignorovat rozdilny pocet prazdnych radku a komentaru + nahodne poradi radku? diky dik
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.9.2007 05:44 Ash | skóre: 53
Rozbalit Rozbalit vše Re: diff adresare a konfiguraku
Odpovědět | | Sbalit | Link | Blokovat | Admin
1) třeba rsync --dry-run ... ?

2) man diff, prázdné řádky imho lze, ale komentáře to asi automaticky nepozná a náhodné pořadá řádku to nechápu.
11.9.2007 08:47 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: diff adresare a konfiguraku
ale komentáře to asi automaticky nepozná a náhodné pořadá řádku to nechápu

Tak by je asi stačilo na začátku odfiltrovat - prázdné řádky vyhází sed '/^$/d' a pokud jsou to jednořádkové komentáře (což asi v konfiguračních souborech budou), tak zkusit sed '/^[ \t]*#/d' (pro komentář typu #).

Náhodné pořadí řádků bych řešil oklikou - nejdřív seřadit, pak porovnat. Teoreticky by potom šlo i vrátit původní pořadí (srovnáním s původní verzí). Jde o to, jak to (ten soubor) vypadá prakticky...

I am always ready to learn although I do not always like to be taught. (W. Churchill)
11.9.2007 13:04 Ash | skóre: 53
Rozbalit Rozbalit vše Re: diff adresare a konfiguraku
Však říkám že prázdné řádky imho lze :) No tak imnsho no.
-b  --ignore-space-change
        Ignore changes in the amount of white space.
-w  --ignore-all-space
        Ignore all white space.

-B  --ignore-blank-lines
        Ignore changes whose lines are all blank.

-I RE  --ignore-matching-lines=RE
        Ignore changes whose lines all match RE
To poslední (regexp) by se mohlo hodit i pro ty komentáře... Lidi RTFM, to je základ a tohle jsou elementární věci :)
11.9.2007 13:35 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: diff adresare a konfiguraku

Sorry, nechtěl jsem nijak popudit (nebo tak něco) - ten sed bylo první, co mě napadlo a teprve, když jsem to odeslal, tak mi došlo, že diff tohle musí zvládnout taky. Ale byl jsem líný to opravovat. Takže znovu omluva.

I am always ready to learn although I do not always like to be taught. (W. Churchill)
11.9.2007 14:12 Ash | skóre: 53
Rozbalit Rozbalit vše Re: diff adresare a konfiguraku
Omluv netřeba, každá rada je vítaná, poselstvní "RTFM než začnete vymýšlet složité konstrukce" je čistě konstruktivní rada do života. Základní nástroje příkazové řádky toho umí dost, ale člověk neví vše, takže když hledá rozdíl mezi soubory + nějaká fičura, tak první cesta chytře vede do manuálu programu který hledá rozdíl mezi soubory, jestli tam ta fičura náhodou není (--enable-fičura). Někdy to chce chvíli laborovat, jestli ta fičura dělá to, co chceme, ale většinou se to vyplatí (jednou zjistit a napsat, 1000x použít).

Každopádně to náhodné pořadí bych také řešil sort a pak diff.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.