Mogę diff filea fileb
zobaczyć różnicę między plikami. Mogę również zrobić, head -1 filea
aby zobaczyć pierwszy wiersz filea lub fileb. Jak połączyć te polecenia, aby pokazać różnicę między pierwszym wierszem filea a pierwszym wierszem fileb?
Mogę diff filea fileb
zobaczyć różnicę między plikami. Mogę również zrobić, head -1 filea
aby zobaczyć pierwszy wiersz filea lub fileb. Jak połączyć te polecenia, aby pokazać różnicę między pierwszym wierszem filea a pierwszym wierszem fileb?
Odpowiedzi:
Jeśli twoja powłoka obsługuje podstawianie procesów , spróbuj:
diff <(head -n 1 filea) <(head -n 1 fileb)
Jeśli porównujesz tylko pierwszy wiersz każdego pliku, być może zależy Ci na zmianach poziomu słowa w wierszu, używając dwdiff
:
dwdiff <(head -n 1 filea) <(head -n 1 fileb)
dwdiff
ma kilka fajnych opcji, takich jak -c
pokolorowanie zmienionych słów.
Lub używając sed
zamiast głowy:
dwdiff <(sed 1q filea) <(sed 1q fileb)
którego instrukcja głowy wskazuje jest bardziej mobilny niż głowy, jak składnia głowie czasem się zmieniło head -1
vshead -n 1
Możesz też po prostu przyjrzeć się zmianom, nieco mniej pisząc:
head -n1 -q filea fileb
która wyświetla dwie linie, jedna pod drugą, dla łatwego wizualnego porównania.
Możesz użyć:
if [ "`head -1 file1`" == "`head -1 file2`" ]; then echo "the same"; fi