Jednosměrné porovnání souborů

CoffeeBoy

Jednosměrné porovnání souborů
« kdy: 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?


j.

Re:Jednosměrné porovnání souborů
« Odpověď #1 kdy: 10. 04. 2012, 21:20:51 »
Dat do for cyklu a pregrepovat?

Olaf

Re:Jednosměrné porovnání souborů
« Odpověď #2 kdy: 10. 04. 2012, 22:07:56 »
Zkusil bych diff. Jinak to umí každý slušnější textový editor.

Lol Phirae

Re:Jednosměrné porovnání souborů
« Odpověď #3 kdy: 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

deadmail

Re:Jednosměrné porovnání souborů
« Odpověď #4 kdy: 10. 04. 2012, 23:12:54 »
Ja by som pouzil prikaz comm:

Kód: [Vybrat]
comm -23 <(sort kratky) <(sort dlhy)


alfi

  • ****
  • 284
    • Zobrazit profil
    • E-mail
Re:Jednosměrné porovnání souborů
« Odpověď #5 kdy: 11. 04. 2012, 09:34:01 »
comm vypadá taky zajímavě. nebo jednoduché
Kód: [Vybrat]
diff prvni druhy | grep "^>" :-)

Re:Jednosměrné porovnání souborů
« Odpověď #6 kdy: 11. 04. 2012, 11:33:54 »
grep -v -f dlhy_subor kratky_subor