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  2013-10-22 12:05:04

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Porównywanie plików

Witam, Mam taki problem. Mam dwa pliki txt z wpisami linia po linii.
Plik pierwszy zawiera pewne dane a plik drugi zawiera te same dane co plik pierwszy plus dodatkowe ( ale mogą być w różnych liniach).
Wie ktoś jak najszybciej wrzucić różnicę do pliku trzeciego?? Był bym wdzięczny na pomoc.

(przykład:

Plik1.txt:
ciąg danych 123456789
ciąg1 danych1 12345678923434 232131
ciąg2 danych2 957439537493

Plik2.txt:
ciąg danych 123456789
ciąg1 danych1 12345678923434 232131
ciąg4 danych4 757575757777777777777 34343
ciąg2 danych2 957439537493
ciąg3 danych3 757575757777777777777 34343

i chciałbym zrobić tak aby:

Plik3.txt:
ciąg4 danych4 757575757777777777777 34343
ciąg3 danych3 757575757777777777777 34343


Pozdrawiam


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2013-10-22 12:49:53

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: Porównywanie plików

Kod:

odroid@odroid:~$ cat 1
ciąg danych 123456789
ciąg1 danych1 12345678923434 232131
ciąg2 danych2 957439537493
odroid@odroid:~$ cat 2
ciąg danych 123456789
ciąg1 danych1 12345678923434 232131
ciąg4 danych4 757575757777777777777 34343
ciąg2 danych2 957439537493
ciąg3 danych3 757575757777777777777 34343
odroid@odroid:~$ grep -v -f 1 2
ciąg4 danych4 757575757777777777777 34343
ciąg3 danych3 757575757777777777777 34343

?


ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |

Offline

 

#3  2013-10-22 14:35:32

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Porównywanie plików

Sprawdź sobie coś takiego jak diff służy do porównywania plików. Do scalania różnic sdiff.

Ostatnio edytowany przez ba10 (2013-10-22 15:10:32)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój Blog, a później Tańczymy ;)

Offline

 

#4  2013-10-22 19:49:08

  prosze - Użytkownik

prosze
Użytkownik
Zarejestrowany: 2012-09-25

Re: Porównywanie plików

Plik1:

Kod:

ciąg danych 123456789
ciąg1 danych1 12345678923434 232131
ciąg2 danych2 957439537493

Plik2

Kod:

ciąg danych 123456789
ciąg1 danych1 12345678923434 232131
ciąg4 danych4 757575757777777777777 34343
ciąg2 danych2 957439537493
ciąg3 danych3 757575757777777777777 34343

Można to zrobić tak:

Kod:

awk 'NR==FNR{key[$0]++; next} !($0 in key)' Plik1 Plik2 > Plik3

Powstanie plik o zawartości:

Plik3

Kod:

ciąg4 danych4 757575757777777777777 34343
ciąg3 danych3 757575757777777777777 34343

Offline

 

#5  2013-10-22 20:48:41

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: Porównywanie plików

No chyba moje jest prostsze... ;p


ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)