Mogę diff filea filebzobaczyć różnicę między plikami. Mogę również zrobić, head -1 fileaaby 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 filebzobaczyć różnicę między plikami. Mogę również zrobić, head -1 fileaaby 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)
dwdiffma kilka fajnych opcji, takich jak -cpokolorowanie zmienionych słów.
Lub używając sedzamiast 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 -1vshead -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