ordner vergleichen mit rsync

This commit is contained in:
Bela 2020-08-10 18:52:26 +02:00
parent fe6a302ed3
commit 3d21c35bf8

View file

@ -118,6 +118,28 @@ benötigt. Habe ich über den Paketmanager installieren können.
Cisco AnyConnect ist die Datei `/opt/cisco/anyconnect/bin/vpnui`
#### Ordner vergleichen
Ich habe 2 Festplatten, die eigentlich den gleichen Inhalt haben sollten.
Irgendwie habe ich es immer wieder hinbekommen, dass der Inhalt doch nicht
gleich ist. Zum Vergleichen der Ordner auf den beiden Festplatten
habe ich verschiedene Software ausprobiert: meld reagiert oft nicht,
`diff` und `git diff` schauen sich jede Datei komplett an, was bei großen
Filmen ewig dauert. Dann wurde ich darauf aufmerksam gemacht, dass `rsync`
mit `--dry-run` einem diese Information geben kann:
```sh
rsync --size-only --itemize-changes --dry-run --verbose --recursive
```
Problem dabei noch: wenn die Dateien gleich, aber die timestamps unterschiedlich
sind, werden diese Dateien mit angezeigt. Daher noch ein `grep` nachschieben:
```sh
rsync --size-only --itemize-changes --dry-run --verbose --recursive | grep --invert-match '^\.'
```
Das funktioniert, weil `--itemize-changes` Dateien, die zwar übertragen
werden, aber keine Änderung haben, mit einem `.` am Anfang markiert.
`'^\.'` ist eine regular expression, die ein `.` am Anfang der Zeile (`^`) beschreibt.
(s. `man rsync`)
#### Bilder verkleinern
for i in *.jpg; do convert $i -resize 541x304 $i; done