Fórum Root.cz

Hlavní témata => Software => Téma založeno: CoffeeBoy 10. 04. 2012, 21:08:13

Název: Jednosměrné porovnání souborů
Přispěvatel: CoffeeBoy 10. 04. 2012, 21:08:13
Ahoj, řeším takový problém. Mám dva soubory, jeden dlouhý a jeden krátký. A potřebuju je porovnat tak, aby mi vypadly řádky, které jsou v tom krátkém, ale nejsou v tom dlouhém. Přebývající v dlouhém mě nezajímají.

Důvod je ten, že mám konfiguraci jádra, kde jsou stovky řádků. A mám volby, které chci zkontrolovat, jestli jsou zapnuté (asi dvacet). A nechce se mi to procházet ručně. Jde to?
Název: Re:Jednosměrné porovnání souborů
Přispěvatel: j. 10. 04. 2012, 21:20:51
Dat do for cyklu a pregrepovat?
Název: Re:Jednosměrné porovnání souborů
Přispěvatel: Olaf 10. 04. 2012, 22:07:56
Zkusil bych diff. Jinak to umí každý slušnější textový editor.
Název: Re:Jednosměrné porovnání souborů
Přispěvatel: Lol Phirae 10. 04. 2012, 22:28:14
Kód: [Vybrat]
while read line; do grep $line dlouhy >/dev/null || echo $line >> rozdil; done < kratky; cat rozdil
Název: Re:Jednosměrné porovnání souborů
Přispěvatel: deadmail 10. 04. 2012, 23:12:54
Ja by som pouzil prikaz comm:

Kód: [Vybrat]
comm -23 <(sort kratky) <(sort dlhy)
Název: Re:Jednosměrné porovnání souborů
Přispěvatel: alfi 11. 04. 2012, 09:34:01
comm vypadá taky zajímavě. nebo jednoduché
Kód: [Vybrat]
diff prvni druhy | grep "^>" :-)
Název: Re:Jednosměrné porovnání souborů
Přispěvatel: mslebodnik 11. 04. 2012, 11:33:54
grep -v -f dlhy_subor kratky_subor