ค้นหาไฟล์ด้วยสตริง


1

ฉันจะย้ายไฟล์ pdf ที่มีสตริง "RELAÇÃO DOS TRABALHADORES" ไว้ข้างในได้อย่างไร? ใช้อูบุนตู 14.4

ฉันลองใช้แล้ว:

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/

แต่ไม่มีงานนี้เลย ไม่มีข้อผิดพลาดไม่มีผลลัพธ์ไม่มีอะไรเลย

ขอบคุณ


ฉันไม่สามารถตรวจสอบได้ในปัจจุบัน แต่ถ้าคุณสามารถสร้างรายการได้อย่างถูกต้อง (ให้ความสนใจกับช่องว่าง) จากนั้นคุณสามารถไพพ์ไปที่ awk และสร้างคำสั่งเพื่อย้ายมันได้ ใจ "" ก่อนและหลังเส้นทางแบบเต็มและชื่อไฟล์
Hastur

ปัญหาหลักของคุณคือข้อความในไฟล์ PDF ถูกเข้ารหัสดังนั้นจะไม่ถูกค้นพบโดย grep. คำตอบของ @ techraf แนะนำให้ใช้ pdfgrepแต่สามารถใช้ตัวกรองอื่น ๆ ได้เช่นการใช้ lesspipe หรือ pdftotext.
AFH

คำตอบ:


3

คุณควรติดตั้ง pdfgrep แพคเกจด้วย:

sudo apt-get install pdfgrep

และเรียกใช้:

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

ทดสอบก่อน!

แทนที่ mv กับ echo mv:

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

และดูว่าคุณถูกต้อง mv คำสั่งที่มีข้อโต้แย้ง


เพื่อความปลอดภัยฉันขอแนะนำให้เพิ่มอย่างชัดเจน -i ทะเลาะกับ mv เพื่อที่จะต้องการการยืนยันหากการดำเนินการจะส่งผลให้มีการเขียนทับไฟล์ที่มีอยู่


ฉันติดตั้ง pdfgrep ฉันจะใช้อย่างไร
FXux

เสร็จแล้วโปรดทดสอบและดูก่อนดำเนินการคำสั่ง mv จริง
techraf

grep จะไม่พบเนื้อหาข้อความในไฟล์ PDF แม้ว่าจะพบบางส่วนของสตริงควบคุม PDF เช่น job / endjobฯลฯ
AFH

IUPI! มันได้ผล!!!!!
FXux

Hei techraf ฉันผิดไม่ทำงาน :( .. ฉันมี 100 pdf กับสตริงนี้ภายในและกำลังย้าย 90% ของไฟล์
FXux
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.