Finden Sie Dateien mit einem String

359
FXux

Wie kann ich PDF-Dateien mit der Zeichenfolge "RELAÇÃO DOS TRABALHADORES" verschieben? Verwenden von Ubuntu 14.4.

Ich versuche bereits zu verwenden:

grep -i -Z -r -l 'RELAÇÃO DOS TRABALHADORES' . | xargs -I{} mv {} ./destination  grep -lir 'RELAÇÃO DOS TRABALHADORES' target/* | xargs mv -t destionation/  mv `grep -lir 'RELAÇÃO DOS TRABALHADORES' target` destination/ 

Aber nichts von dieser Arbeit überhaupt. Keine Fehler, keine Ausgaben, nichts.

Vielen Dank.

1
Ich kann es derzeit nicht überprüfen, aber wenn Sie die Liste korrekt generieren können (Aufmerksamkeit auf die Leerzeichen richten), können Sie an awk weiterleiten und den Befehl zum Verschieben erstellen. Beachten Sie das "" "vor und nach dem vollständigen Pfad und Dateinamen. Hastur vor 8 Jahren 0
Ihr Hauptproblem ist, dass der Text in PDF-Dateien verschlüsselt ist und daher von "grep" nie gefunden wird. Die Antwort von @ techraf schlägt die Verwendung von "pdfgrep" vor, andere Filter sind jedoch möglich, beispielsweise die Verwendung von "lesspipe" oder "pdftotext". AFH vor 8 Jahren 0

1 Antwort auf die Frage

3
techraf

Sie sollten das pdfgrepPaket mit installieren :

sudo apt-get install pdfgrep 

und Renn:

pdfgrep -Hc 'RELAÇÃO DOS TRABALHADORES' target/* | cut -d : -f1 | xargs -I{} mv -i '{}' ./destination 

Testen Sie zuerst!

Ersetzen mvdurch echo mv:

pdfgrep -Hc 'RELAÇÃO DOS TRABALHADORES' target/* | cut -d : -f1 | xargs -I{} echo mv -i '{}' ./destination 

und sehen, ob Sie korrekte mvBefehle mit Argumenten erhalten.


Aus Sicherheitsgründen empfehle ich, -iArgumente explizit hinzuzufügen, mvso dass eine Bestätigung erforderlich ist, wenn die Ausführung dazu führen würde, dass eine vorhandene Datei überschrieben wird.

Ich habe den pdfgrep installiert. Wie kann ich verwenden? FXux vor 8 Jahren 0
Fertig, einfach bitte immer testen und sehen, bevor Sie den echten mv-Befehl ausführen. techraf vor 8 Jahren 0
`grep` findet niemals Textinhalt in PDF-Dateien, einige der PDF-Steuerzeichenfolgen wie„ job “/„ endjob “usw. AFH vor 8 Jahren 0
IUPI! Es klappt!!!!! FXux vor 8 Jahren 0
Hei techraf, ich habe mich geirrt, funktioniert nicht :( .. ich habe 100 pdfs mit dieser Zeichenfolge und bewegt 90% der Dateien. FXux vor 8 Jahren 0
Ich fürchte, wenn `pdfgrep` die Zeichenfolge nicht findet, können Sie nicht viel tun. Sind alle PDFs durchsuchbar dh. können Sie die Zeichenfolge mithilfe einer Lesersuchfunktion finden (z. B. Strg + f)? techraf vor 8 Jahren 0
Das ist überhaupt nicht der Fall, denke ich @techraf, wenn ich versuche, "pdfgrep -in 'RELAÇÃO DOS TRABALHADORES' PDF / *. Pdf" zu verwenden, um die Dateien mit der Zeichenfolge auszudrucken FXux vor 8 Jahren 0
Keine Lösung dafür, ich rate @techraf? FXux vor 8 Jahren 0
Sie haben nicht gesagt, ob Sie die Zeichenfolge in einem PDF-Reader finden können. Zwischen den Wörtern können zusätzliche Leerzeichen oder Zeilenumbrüche auftreten. Wenn Sie die Suchphrase verkürzen, besteht dann die Möglichkeit für Fehlalarme? Lenne vor 8 Jahren 0