Ich mache einige Nachforschungen über Bildverarbeitung und ich wollte wissen, ob es möglich ist, nach einem bestimmten hexadezimalen String Array in verschiedenen Bildern zu suchen. Es wäre großartig, wenn es mir eine Liste von Bildern gibt, die diese spezifische Zeichenkette hat. Im Grunde was grep -r "" tut. Aus irgendeinem Grund funktioniert Grep nicht. Streicher kenne ich nicht. Ich habe mir "Man Strings" angesehen, aber es hat nicht viel geholfen. Wie auch immer, ich würde gerne nach einer bestimmten hexadezimalen Zeichenfolge "0002131230443" (oder sogar einem bestimmten Byte-Array, d. H. Base64-String) in mehreren Bildern im selben Ordner suchen. Jede Hilfe würde sehr geschätzt werden.Ich suche nach einer spezifizierten Hexadezimalzeichenkette in mehreren Bildern unter Linux
Ich fand diesen Code, der genau das tut, was ich will mit xxd und grep. Bitte finden Sie den folgenden Befehl: xxd -p/your/file | tr -d '\ n' | grep -c '22081b00081f091d2733170d123f3114'
FYI: Es wird 1 zurückgeben, wenn der Inhalt übereinstimmt, 0 sonst.
xxd -p konvertiert die Datei in einen einfachen Hex-Dump, tr -d '\ n' löscht die Zeilenumbrüche um xxd, und grep -c zählt die Anzahl der übereinstimmenden Zeilen.
Kann jemand den Code oben in einem bestimmten Verzeichnis mit Bash-Skript ausführen. Ich habe ungefähr 400 Bilder, und ich möchte, dass sie nur 400 zurückgibt (d. H. Eine Zeichenkette, die der Anzahl entspricht), wenn alle 400 Bilder diese bestimmte Zeichenkette haben. Ich fand dies unter Script-Code, aber es läuft den gleichen Code immer und immer 400 Mal für 0 oder 1 jedes Mal Rückkehr:
#!/bin/bash
FILES=/FILEPATH/*
for f in $FILES
do
echo "PROCESSING $f FILES"
echo "-------------------"
XXD -u $f | grep ABCD
echo "-------------------"
done
Danke Jungs.
Plasma33
Ja, Sie haben Recht. Ich meinte Bash-Skript. Ich habe es jetzt korrigiert. Leider bin ich ein häufiger Windows-Benutzer. – plasma33
Ja, das ist bedauerlich ;-). –