เหตุใดฉันจึงไม่สามารถใช้คำสั่งเช่นนี้เพื่อค้นหาไฟล์ pdf ทั้งหมดในไดเรกทอรีและไดเรกทอรีย่อย ฉันต้องทำอย่างไร? (ฉันใช้ทุบตีใน Ubuntu)
ls -R *.pdf
แก้ไข
ฉันจะลบไฟล์เหล่านี้ได้อย่างไร
เหตุใดฉันจึงไม่สามารถใช้คำสั่งเช่นนี้เพื่อค้นหาไฟล์ pdf ทั้งหมดในไดเรกทอรีและไดเรกทอรีย่อย ฉันต้องทำอย่างไร? (ฉันใช้ทุบตีใน Ubuntu)
ls -R *.pdf
แก้ไข
ฉันจะลบไฟล์เหล่านี้ได้อย่างไร
คำตอบ:
เหตุใดฉันจึงไม่สามารถใช้คำสั่งเช่นนี้เพื่อค้นหาไฟล์ pdf ทั้งหมดในไดเรกทอรีและไดเรกทอรีย่อย
สัญลักษณ์แทน*.pdf
ในคำสั่งของคุณมีการขยายตัวbash
ไปยังไฟล์ที่ตรงกันทั้งหมดในไดเรกทอรีปัจจุบันก่อนที่จะls
ดำเนินการ
ฉันต้องทำอย่างไร? (ฉันใช้ทุบตีใน Ubuntu)
ค้นหาคือคำตอบของคุณ
find . -name \*.pdf
เป็นรายการแบบเรียกซ้ำของไฟล์ pdf -iname
ตรงกับกรณีตายดังนั้น
find . -iname \*.pdf
แสดงรายการไฟล์. pdf ทั้งหมดรวมถึงตัวอย่าง foo.PDF
นอกจากนี้คุณยังสามารถใช้ ls เพื่อ จำกัด จำนวนโฟลเดอร์ย่อยได้เช่นกัน
ls *.pdf */*.pdf
เพื่อค้นหาไฟล์ pdf ทั้งหมดในโฟลเดอร์ย่อย (ตรงกับ bar / foo.pdf ไม่ใช่ bar / foo / asdf.pdf และไม่ใช่ foo.PDF)
หากคุณต้องการลบไฟล์ที่พบด้วย find คุณสามารถใช้
find . -iname \*.pdf -delete
ดังที่คนอื่น ๆ พูดไว้คำตอบคือคำตอบ
ตอนนี้เพื่อตอบส่วนอื่น ๆ
ฉันจะลบไฟล์เหล่านี้ได้อย่างไร
หา -iname * .pdf -exec rm {} \;
ควรทำอย่างไร
ใช้ find แทน ls
find . -name '*.pdf'
ls -l
คำสั่งแสดงขนาดไฟล์ความเป็นเจ้าของวันที่ ฯลฯ คุณสามารถใช้find
กับ-ls
ตัวเลือกเช่นfind . -name \*.pdf -ls