Mamy dwa pliki zip i chcielibyśmy je porównać.
Jesteśmy również zainteresowani obliczeniem różnicy procentowej między nimi a rozmiarem pliku. Czy istnieje narzędzie, które może to zrobić szybko?
Mamy dwa pliki zip i chcielibyśmy je porównać.
Jesteśmy również zainteresowani obliczeniem różnicy procentowej między nimi a rozmiarem pliku. Czy istnieje narzędzie, które może to zrobić szybko?
cmp
przeciwdiff
.Odpowiedzi:
Możesz spróbować skryptu basha takiego jak ten:
Następnie wywołujesz skrypt, przekazując dwa pliki jako argumenty. Użyłem polecenia
stat -f "%z" "$1"
aby uzyskać rozmiar pliku i działa na OS X. W zależności od dystrybucji Linuksa może być potrzebna inna składnia, na przykładstat -c%s FILENAME
lubdu -b FILENAME
. Spróbuj w konsoli, powinieneś otrzymać liczbę bajtów jako wynik.Zauważ, że musimy wywołać program
bc
ponieważ Bash nie może wykonywać arytmetyki zmiennoprzecinkowej.Oczywiście możesz zmodyfikować skrypt, aby spełnić swoje potrzeby. Jeśli chcesz porównać dwa skompresowane pliki za pomocą nieskompresowanego pliku, możesz dodać inną zmienną i wykonać żądaną matematykę
bc
.źródło
Możesz po prostu napisać skrypt Perla do obsługi zadania. Jest mniej brudny niż Bash.
Oto przykład takiego skryptu. Oblicza zmniejszenie rozmiaru pliku między oryginalnym i skompresowanym plikiem.
Wykonujesz to w ten sposób:
perl compare_filesizes.pl my_fancy_javascript.js my_fancy_javascript_min.js
UWAGA: Możesz wycenić lub usunąć
die
warunki. Są tylko po to, aby przypomnieć użytkownikowi, aby prawidłowo używał tego skryptu.źródło