Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2010-04-05 19:36:16

  grzebyk - sierściuch

grzebyk
sierściuch
Skąd: Szczerców
Zarejestrowany: 2005-10-08

Porównanie plików tekstowych

Jak można porównać pliki tekstowe w ten sposób, aby nie były porównywane dokładnie linia po linii
tylko powiedzmy że zawierają te same linie ale w różnej kolejności plus jeden plik zawiera jeszcze inne dodatkowe
a wynikiem porównania będą właśnie te dodatkowe

przykładem może być tu porównanie wyników poleceń:

Kod:

dpkg -l

z różnych systemów przy czym w wyniku chciałbym otrzymać listę pakietów różniących oba systemy


apt-get install browar-tyskie
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Sugerowane pakiety: kufel walety-light

Offline

 

#2  2010-04-05 21:08:16

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Porównanie plików tekstowych

Kod:

man sort
man diff

Nie wiem w czym problem.

Jeszcze ewentualnie man uniq, jeśli chcesz usunąć duplikaty linii (ale chyba nie można mieć danego pakietu zainstalowanego kilkukrotnie?).

Ostatnio edytowany przez Minio (2010-04-05 21:09:01)

Offline

 

#3  2010-04-05 21:20:57

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: Porównanie plików tekstowych

tak na szybko - może się roić od błędów ;]

Kod:

#!/bin/bash

LISTA_1=$1 #aktualny system
LISTA_2=$2 #z ktorym porownujesz

for i in `cat $LISTA_2` 
do
 if ! [ `grep $i $LISTA_1 ] 
 then
  echo "$i not installed"
 fi
done
for i in `cat $LISTA_1` 
do
 if ! [ `grep $i $LISTA_2 ] 
 then
  echo "$i not installed"
 fi
done

listy do porównania powinny wygladać tak:

Kod:

dpkg -l |awk '{print $2}' > plik

Zamiast wypisywać na ektan można zrobić plik z listą paczke ;)


Można to pewnie zrobić zdecydowania przyjemniej ale nie mam weny na wymyślanie :P

Ostatnio edytowany przez winnetou (2010-04-05 21:22:49)


LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

#4  2010-04-05 21:22:40

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Porównanie plików tekstowych

Kod:

grep -v -f plik1 plik2
grep -v -f plik2 plik1

Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#5  2010-04-05 21:23:33

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: Porównanie plików tekstowych

o właśnie azhag podał cywilizowane rozwiązanie :)


LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)