poradniki
Polecenie diff
Porównywanie plików w systemie Linux
diff porównuje zawartość dwóch plików linia po linii. Po przeanalizowaniu plików listuje te linie, które nie różnią się między sobą. Zawiera też instrukcje, jak zmienić pierwszy plik, aby pasował do drugiego pliku.
Składnia polecenia diff
diff [OPCJE]... PLIKI
Opcje polecenia diff
Opcje | Opis |
---|---|
–normal | wypisuje zwykły diff (domyślnie) |
-q, –brief | informuje jedynie, że pliki się różnią |
-s, –report-identical-files | gdy pliki są identyczne, wypisuje informację o tym |
-c, -C LICZBA, –context[=LICZBA] | wypisuje LICZBĘ (domyślnie 3) wierszy kopiowanego kontekstu |
-u, -U LICZBA, –unified[=LICZBA] | wypisuje LICZBĘ (domyślnie 3) wierszy zunifikowanego kontekstu |
-e, –ed | wypisuje zapis eda |
-n, –rcs | wpisuje różnicę w formacie diffa RCS |
-y, –side-by-side | wypisuje wynik w dwóch kolumnach |
-W, –width=LICZBA | wypisuje co najwyżej LICZBĘ (domyślnie 130) kolumn |
–left-column | wypisuje jedynie lewą kolumnę wspólnych wierszy |
–suppress-common-lines | nie wypisuje wspólnych wierszy |
-p, –show-c-function | pokazuje funkcję C, w której znajduje się każda ze zmian |
-F, –show-function-line=WYR-REG | pokazuje ostatni wiersz pasujący do WYR-REG |
–label ETYKIETA | użycie ETYKIETY zamiast nazwy pliku i znacznika czasu (może być powtarzane) |
-t, –expand-tabs | zamienia tabulację na spacje w wypisywanym wyniku |
-T, –initial-tab | tworzy formatowanie, dodając na początku znak tabulacji |
–tabsize=LICZBA | tabulacja ma rozmiar LICZBA (domyślnie 8) kolumn |
–suppress-blank-empty | nie wypisuje spacji lub tabulatora przed pustymi wierszami |
-l, –paginate | przetwarza wyjście przez pr, numerując strony |
-r, –recursive | porównuje znalezione podkatalogi rekurencyjnie |
–no-dereference | bez podążania za dowiązaniami symbolicznymi |
-N, –new-file | traktuje brakujące pliki jako puste |
–unidirectional-new-file | traktuje brakujące pliki początkowe jako puste |
–ignore-file-name-case | ignoruje wielkość znaków podczas porównywania nazw plików |
–no-ignore-file-name-case | nie ignoruje wielkości znaków podczas porównywania nazw plików |
-x, –exclude=WZORZEC | pomija pliki pasujące do WZORCA |
-X, –exclude-from=PLIK | pomija pliki pasujące do wzorca w PLIKU |
-S, –starting-file=PLIK | rozpoczyna od PLIKU podczas porównywania katalogów |
–from-file=PLIK1 | porównuje PLIK1 do wszystkich elementów zbioru (operandów); PLIK1 może być katalogiem |
–to-file=PLIK2 | porównuje wszystkie elementy zbioru (operandy) do PLIKU2; PLIK2 może być katalogiem |
-i, –ignore-case | ignoruje wielkość znaków w zawartości pliku |
-E, –ignore-tab-expansion | |
-Z, –ignore-trailing-space | ignoruje białe znaki na końcu wiersza |
-b, –ignore-space-change | ignoruje zmiany w liczbie białych znaków |
-w, –ignore-all-space | ignoruje wszystkie białe znaki |
-B, –ignore-blank-lines | zignorowanie zmian liczby pustych linii |
-I, –ignore-matching-lines=WYR-REG | zignorowanie zmian w liniach pasujących do WYR-REG |
-a, –text | traktuje wszystkie pliki jako tekstowe |
–strip-trailing-cr | wycina końcowy znak powrotu karetki (CR) w wyjściu |
-D, –ifdef=NAZWA | wypisuje połączone pliki z różnicami „#ifdef NAZWA” |