© Mai 2021, Letzte Änderung 31.08.24
--- still under construction ---
Zum Zeilenweisen vergleichen von vorzugsweise Text-Dateien,
bietet sich diff
an.
Diff kann auch rekursiv für Ordner verwendet werden.
Die wichtigsten Parameter sind folgende.
-q
nur melden wenn unterschiedlich -r
recursive -u
unified format -N
fehlende Datei als leer behandeln -y
--side-by-side oder zweizeilige Ausgabe Z.B. Vergleich zweier Ordner.
diff -rq a0.0 a0.1
Die Ausgabe ist jedoch etwas mager, sodaß es mehr Sinn macht
cmp
zu verwenden.
In Zusammenhang mit hexdump
könnte es interessant sein.
hexdump -C obrm1.001 > obrm1.hex hexdump -C obrm2.001 > obrm2.hex diff obrm1.hex obrm2.hex 17c17 < 00007e20 20 99 07 00 00 01 29 67 36 68 4a 20 20 20 20 20 | .....)g6hJ | --- > 00007e20 20 99 07 00 00 00 29 67 36 68 4a 20 20 20 20 20 | .....)g6hJ | …
computerhope.com
Linux diff command
linuxhandbook.com
Using Diff Command to Compare Two Files in Linux Terminal
linux-console.net
So vergleichen Sie Binärdateien unter Linux
Zum Anfang
cmp
kann verwendet werden zum binären Vergleich zweier Dateien.
Spezielle Anwendung mit dd
.
dd if=/dev/dvd | cmp tmp.iso
Ein weiteres Beispiel - Vergleich zweier Dateien.
cmp -l obrm.001 obrm2.001 32294 1 0 97059 0 377 97060 0 377 …
howtoforge.de
Linux cmp Befehl Tutorial für Anfänger (7 Beispiele)
geeksforgeeks.org
cmp Command in Linux with examples
Zum Anfang
md5sum – Checksumme
-c check via Dateiliste
-C create
-rr alles recursiv in eine Datei
-t type
-f file
-p dir z.B. -p /home/m/Desktop
--showpaths=y
-a yes, absolute
Md5sum Linuxmint-13.iso md5sum -c pfSense-2.2.2-RELEASE-4g-i386-nanobsd-vga.img.gz.md5 md5sum /dev/dvd
Zum Anfang
-b binary
-t text ist Default
sha256sum -b avira-rescue-system.iso 18d52cc4dc7b3759969774f41747e8a4e1223a8da504d8a582fb15919f4ea61c *avira-rescue-system.isoUm Scheksummen aller Dateien zu erzeugen.
find /mnt/sda3/a0/ -type f -exec sha256sum {} \; > ~/sda3-files.sha256
Zum Anfang
-m search only for missing files
-C create mode
-v verbose
-r separate chksum for each dir
-L don't follow symlinks
-T test mode
-rr create single file
-n rename bad files
-f file
sfv file name -uu show each unverfied file -t type can be sfv sfvmd5 csv csv2 csv4 sha1 md5 par...
Exit status: 2 bad crc 4 bad size 8 not found 16 file error 32 unverfied 64 checksum error
cfv -C -t sfv -rr -f test-sfv → *.sfv Abi86/Abi1986_01.jpg cbee9db2 ... cfv -C -rr -t sfvmd5 → *.md5 Abi86/Abi1986_01.jpg db6bf75b470fb5f33169ccf35cfa94b1... bevorzugte Formatierung: cfv -C -rr -t md5 → *.md5 db6bf75b470fb5f33169ccf35cfa94b1 *Abi86/Abi1986_01.jpgÜberprüfung mit: siehe http://cfv.sourceforge.net/cfv.1.html oder http://unix.stackexchange.com/questions/203973/generate-sfv-file-optimizing-hard-links
Zum Anfang
fdupes duff dupseek fslint baobab sind mögliche Programme um Dupletten zu finden.
fdupesapt-get install fdupes
-r recursive
-N ohne Prompt (löscht ohne Nachfrage)
-L Hardlinks erstellen, statt Löschen
-m Platzbedarf durch Doppelbelegung
-f 1.Datei weglassen
-d 1.Datei erhalten, Rest auf Rückfrage löschen
Zunächst einmal eine Liste der Dupletten rekursiv erstellen mit Fortschrittsanzeige Oder Dupletten finden ohne Fortschrittsanzeige
fdupes -r /home/hd1/a | tee dup1.txt mit Anzeige fdupes -r ./ > dup1.txt aktuelles Verzeichnis fdupes -rd ./ löscht mit Rückfrage
Löschliste erstellen, wobei 1. Datei nicht aufgeführt ist -f = omitfirst
fdupes -rf /home/a | tee dup2.txt ohne erste Datei dup1,txt mit dup2.txt vergleichen vimdiff dup1.txt dup2.txt paket vim 29 MB comm ~/dup1.txt ~/dup2.txt paket comm nicht gefundenen diff -uNr dup1.txt dup2.txt > dup3.txt erstellt zusammengefügte Datei
Ergebnis Zeilenweise sortieren
-f Gruß/Klein-schreibung ignorieren
-o file Schreibt Ergebnis in Datei
-d nur alphanumerische Zeichen beachten [a – z; A – Z, 0 - 9]
+0M -1 +1n -2 nach Datum sortieren
sort $filelist-from-rf | uniq | grep -v '^$' > $removelist nicht getestet
bearbeite die Löschliste, lösche Leerzeilen und lösche entsprechende Zeilen
while read file; do rm -v "$file"; done < $removelist
statt der while do Schleife
for file in `cat $removelist`; do rm -v “$file”; done geht nicht rm $(removelist) macht Probleme bei chr(32) cat removelist | while read datei; do rm "$datei"; done
erstellt Hardlinks anstatt der Dupletten
fdupes -rL /home/aSiehe https://krausens-online.de/fdupes-duplikate-finden/
Zum Anfang
freedup - Dupletten durch Links ersetzen. Unter Freedup.org freedup runter laden
-d überprüft Zeitstempelabfrage
-u User gleich?
-f überprüft Dateinamensgleichheit
-g Gruppen gleich?
-c /a /b Vergleicht Ordner /a mit Ordner /b
-t
dpkg --install freedup.deb freedup -cf /home/Musik/_music\ unsortiert\ alt/
Zum Anfang
hifi-selbstbau.de Lautsprecher Grundlagen:
Gehäuse, Frequenzweiche, Raumakustik, etc.
Zum Anfang