regdos 1848 Zgłoś post Napisano Styczeń 13, 2009 Problem wygląda następująco: Mam dwa pliki tekstowe a.txt i b.txt, każda linia to jakaś dana, chciałbym dla każdej linii z pliku a.txt sprawdzić czy dana linia występuję w pliku b.txt i jeżeli jej nie ma to zapisać ją jako linia do pliku wynikowym c.txt Zakładam, że problem jest do rozwiązania w bash lub perl, proszę dajcie jakieś wskazówki jakich programów użyć i mniej więcej jak. Udostępnij ten post Link to postu Udostępnij na innych stronach
lukaschemp 27 Zgłoś post Napisano Styczeń 13, 2009 Może coś w tym stylu.. while read line; do grep ${line} b.txt || echo ${line} >> c.txt; done < a.txt Do porównywania plików jest diff W Perl'u chyba można to zrobić przez Tie::File Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Styczeń 13, 2009 Do porównywania plików jest diff Że ja o diff nie pomyślałem a nadaje się wyśmienicie diff a.txt b.txt | grep "<" | cut -c 3- > del.txt diff a.txt b.txt | grep ">" | cut -c 3- > add.txt w del.txt mam te wiersze z a.txt, których nie ma w b.txt w add.txt są te wiersze z b.txt, których nie ma w a.txt tak miało być, dzięki za nakierowanie Udostępnij ten post Link to postu Udostępnij na innych stronach
gb 12 Zgłoś post Napisano Styczeń 13, 2009 Problem wygląda następująco:Mam dwa pliki tekstowe a.txt i b.txt, każda linia to jakaś dana, chciałbym dla każdej linii z pliku a.txt sprawdzić czy dana linia występuję w pliku b.txt i jeżeli jej nie ma to zapisać ją jako linia do pliku wynikowym c.txt a jesli jest w pliku b.txt a nie mam jej w pliku a.txt to takze zapisac do pliku c.txt czy ignorowac ? g. Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Styczeń 13, 2009 a jesli jest w pliku b.txt a nie mam jej w pliku a.txt to takze zapisac do pliku c.txt czy ignorowac ? To wtedy zapisywać do do pliku d.txt Ale idealne dla mnie rozwiązanie znalazłem używając diff-a, dokładnie takie o jakie mi chodziło. Udostępnij ten post Link to postu Udostępnij na innych stronach