คำถามติดแท็ก find

สำหรับคำถามที่เกี่ยวข้องกับการค้นหายูทิลิตีบรรทัดคำสั่งเพื่อค้นหาไฟล์ในลำดับชั้นไดเรกทอรี ใช้แท็กนี้สำหรับคำถามเกี่ยวกับการค้นหาตัวเองหรือคำถามเกี่ยวกับปัญหาที่เกิดขึ้นจากการใช้ยูทิลิตี้ค้นหาบรรทัดคำสั่ง

4
ฉันจะค้นหาไฟล์แล้วใช้ xargs เพื่อย้ายไฟล์ได้อย่างไร
ฉันต้องการค้นหาไฟล์และย้ายไฟล์ ฉันสามารถค้นหาไฟล์ด้วย: $ find /tmp/ -ctime -1 -name x* ฉันพยายามย้ายพวกเขาไปยัง~/playไดเรกทอรีของฉันด้วย: $ find /tmp/ -ctime -1 -name x* | xargs mv ~/play/ แต่นั่นไม่ได้ผล mv ต้องมีสองอาร์กิวเมนต์ ไม่แน่ใจว่าจะอ้างอิงรายการปัจจุบันของ xargs (หรือวิธี) ในคำสั่ง mv หรือไม่
28 find  rename  xargs 

8
ฉันจะแสดงรายการทุกไฟล์ในไดเรกทอรียกเว้นไฟล์ที่มีนามสกุลที่ระบุได้อย่างไร
สมมติว่าฉันมีโฟลเดอร์ที่มี. txt , .pdfและไฟล์อื่น ๆ ฉันต้องการแสดงรายการไฟล์ "อื่น ๆ " (เช่นไฟล์ที่ไม่มีนามสกุล. txtหรือ. pdf ) คุณมีคำแนะนำเกี่ยวกับวิธีการทำเช่นนี้หรือไม่? ฉันรู้วิธีแสดงรายการไฟล์ที่ไม่มีส่วนขยายที่กำหนด ตัวอย่างเช่นหากฉันต้องการแสดงรายการไฟล์ทั้งหมดยกเว้นไฟล์. txtให้เลือกเช่นกัน find -not -iname "*.txt" หรือ ls | grep -v '\.txt$' | column ดูเหมือนจะทำงาน แต่ฉันจะแสดงรายการทุกอย่างยกเว้นไฟล์. txt หรือ ไฟล์. pdf ได้อย่างไร มันดูเหมือนว่าฉันต้องใช้การจัดเรียงของตรรกะ "หรือ" บางอย่างในหรือfindgrep
28 grep  find  ls 

6
แสดงรายการไฟล์ที่มีขนาดใหญ่กว่า {size} เรียงตามวันที่
ฉันต้องการแก้ปัญหา 'ทำรายการไฟล์ล่าสุด 10 อันดับแรกในไดเรกทอรีปัจจุบันเกิน 20MB' ด้วยlsฉันสามารถทำ: ls -Shal |head เพื่อรับไฟล์ที่ใหญ่ที่สุด 10 อันดับแรกและ: ls -halt |head เพื่อรับไฟล์ 10 อันดับล่าสุด ด้วยการหาฉันสามารถทำได้: find . -size +20M หากต้องการแสดงรายการไฟล์ทั้งหมดเกิน 20MB ในไดเรกทอรีปัจจุบัน (และไดเรกทอรีย่อยซึ่งฉันไม่ต้องการ) มีวิธีใดบ้างที่จะแสดงรายการไฟล์สิบไฟล์ล่าสุดที่มีขนาดใหญ่กว่าโดยเฉพาะควรใช้ls?
27 find  ls 

6
ความแตกต่างระหว่างการค้นหาคืออะไร และค้นหา -พิมพ์
อะไรคือความแตกต่างระหว่าง: find . และ find . -print สิ่งที่ไม่-printจริงทำอย่างไร $ find . . ./hello.txt ./hello ./hello/txt ./hello/hello2 ./hello/hello2/hello3 ./hello/hello2/hello3/txt ./hello/hello2/txt $ find . -print . ./hello.txt ./hello ./hello/txt ./hello/hello2 ./hello/hello2/hello3 ./hello/hello2/hello3/txt ./hello/hello2/txt

1
การค้นหาไฟล์ที่คำสั่งล้มเหลว
ฉันต้องการค้นหาไฟล์ทั้งหมดซ้ำที่สคริปต์ซึ่งยอมรับไฟล์เนื่องจากอาร์กิวเมนต์ส่งคืนค่าที่ไม่เป็นศูนย์ มีความคิดวิธีการทำเช่นนี้โดยใช้ 'ค้นหา' หรือเครื่องมือที่คล้ายกัน?

3
ลบไฟล์ทั้งหมดที่สร้างขึ้นก่อนวันที่กำหนด
ฉันมีไดเรกทอรีที่มีไฟล์จำนวนมาก (เช่นบันทึกสำหรับทุกวันของปี) ฉันต้องการลบไฟล์ทั้งหมดที่สร้างขึ้นก่อนหน้านี้ว่า 22/11 ฉันจะบรรลุสิ่งนั้นได้อย่างไร ฉันจะต้องใช้findexec แล้ว-rmหรือไม่ ฉันใช้ ksh
26 shell  files  find  ksh 

4
รายการเวลาของไฟล์ในคำสั่ง "ค้นหา"
ในทุบตีถ้าฉันใช้$ find ./ -name "*.sqlite"มันจะแสดงรายการไฟล์ sqlite ทั้งหมดในไดเรกทอรีปัจจุบัน ฉันต้องการดูเวลาที่แก้ไขของไฟล์ใครสามารถให้ความช่วยเหลือฉันได้บ้าง?
26 find 

1
ค้นหา & sed (ค้นหาและแทนที่)
ฉันใช้คำสั่งต่อไปนี้ใน mac ของฉัน: $find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \; และดูเหมือนว่าจะไม่มีผลกระทบ ฉันมีสองไฟล์ในไดเรกทอรีที่ลงท้ายด้วย. java ซึ่งทั้งคู่มีข้อความ foo อยู่ในนั้น ฉันพลาดอะไรไปรึเปล่า? แก้ไข: ผลลัพธ์จากการร้องขอความคิดเห็น [aafghani-03:~/test amirafghani]$ find . -name "*.java" -exec sed -i 's/foo/bar/g' {} \; sed: 1: "./bar.java": invalid command code . sed: 1: "./foo.java": invalid command code .
26 find  sed  osx 

3
ฐานข้อมูลใดที่ `อัพเดต 'และการค้นหา` ใช้'?
locateโปรแกรมfindutilsสแกนหนึ่งหรือฐานข้อมูลอื่น ๆ จากชื่อไฟล์และการแสดงการแข่งขันใด ๆ ซึ่งสามารถใช้เป็นfindคำสั่งที่รวดเร็วมากหากไฟล์นั้นมีอยู่ในระหว่างการอัพเดทฐานข้อมูลชื่อไฟล์ล่าสุด ปัจจุบันมีฐานข้อมูลหลายประเภท ฐานข้อมูลเชิงสัมพันธ์ (ด้วยภาษาแบบสอบถามเช่น SQL) ฐานข้อมูล NoSQL ฐานข้อมูลเชิงเอกสาร (เช่น MongoDB) ฐานข้อมูลคีย์ - ค่า (เช่น Redis) ฐานข้อมูลเชิงคอลัมน์ (เช่น Cassandra) ฐานข้อมูลกราฟ ดังนั้นฐานข้อมูลชนิดใดที่updatedbปรับปรุงและlocateใช้งาน? ขอบคุณ

4
การเรียกใช้งานฟังก์ชั่นที่ผู้ใช้กำหนดในการค้นหา -exec call
ฉันใช้ Solaris 10 และฉันได้ทดสอบสิ่งต่อไปนี้ด้วย ksh (88), bash (3.00) และ zsh (4.2.1) รหัสต่อไปนี้ไม่ได้ให้ผลลัพธ์ใด ๆ : function foo { echo "Hello World" } find somedir -exec foo \; การค้นหาไม่ตรงกับหลายไฟล์ (ดังแสดงโดยแทนที่-exec ...ด้วย-print) และฟังก์ชั่นการทำงานอย่างสมบูรณ์แบบเมื่อถูกเรียกออกไปข้างนอกจากการfindโทร นี่คือสิ่งที่man findหน้าพูดเกี่ยวกับ-exec: คำสั่ง -exec จริงถ้าคำสั่งดำเนินการส่งกลับ ค่าศูนย์เป็นสถานะออก จุดจบของ คำสั่งจะต้องคั่นด้วยการหลบหนี อัฒภาค (;) อาร์กิวเมนต์คำสั่ง {} คือ แทนที่ด้วยชื่อพา ธ ปัจจุบัน หากว่า อาร์กิวเมนต์สุดท้ายของ -exec คือ …

5
ฉันจะใช้วิธีทุบตีถ้าทดสอบและค้นหาคำสั่งด้วยกันได้อย่างไร
ฉันมีไดเรกทอรีที่มีบันทึกข้อผิดพลาดและฉันต้องการใช้คำสั่งแบบมีเงื่อนไขในสคริปต์ทุบตีตามคำสั่งค้นหา ไฟล์บันทึกจะถูกจัดเก็บในรูปแบบนี้: /var/log/crashes/app-2012-08-28.log /var/log/crashes/otherapp-2012-08-28.log ฉันต้องการให้คำสั่ง if ส่งคืนจริงถ้ามีบันทึกการทำงานล้มเหลวสำหรับแอปเฉพาะซึ่งได้รับการแก้ไขใน 5 นาทีที่ผ่าน findคำสั่งที่ผมจะใช้เป็น: find /var/log/crashes -name app-\*\.log -mmin -5 ฉันไม่แน่ใจว่าจะรวมเข้ากับifคำสั่งได้อย่างถูกต้อง ฉันคิดว่านี่อาจใช้งานได้: if [ test `find /var/log/crashes -name app-\*\.log -mmin -5` ] then service myapp restart fi มีบางพื้นที่ที่ฉันไม่ชัดเจน: ฉันดูที่ธง ifแต่ฉันไม่แน่ใจว่าควรใช้อันไหนถ้ามี ฉันต้องการtestคำสั่งหรือฉันควรประมวลผลผลลัพธ์ของคำสั่ง find โดยตรงหรืออาจใช้find... | wc -lเพื่อรับจำนวนบรรทัดแทน ไม่จำเป็น 100% ที่จะตอบคำถามนี้ แต่testสำหรับการทดสอบกับโค้ดส่งคืนที่คำสั่งส่งคืน? และพวกมันมองไม่เห็น - ด้านนอกของstdout/ stderr? …

1
ค้นหาและ rsync?
ฉันต้องการที่จะสามารถค้นหาไฟล์ในช่วง 14 วันและนานกว่า 10k และกว่า rsync ที่พบไฟล์ไปยังปลายทาง มีวิธีรวมคำสั่งทั้งสองนี้หรือไม่? find ./ -mtime +14 -size +10k rsync --remove-sent-files -avz /src /dest
24 bash  shell  find  pipe  rsync 

2
ฉันจะหยุดการค้นหาจากมากไปน้อยในไดเรกทอรีที่พบได้อย่างไร
ฉันต้องการค้นหาไดเรกทอรีทั้งหมดด้วยสตริงที่ระบุเพื่อให้ฉันสามารถค้นหาอื่นในไฟล์ที่อยู่ภายใน ดังนั้นฉันไม่ต้องการเสียเวลากับ./my-search-term/dir/my-search-termฯลฯ ฉันจะหยุดการเรียกซ้ำเมื่อฉันพบไดเรกทอรีของฉันคำค้นหาแรกได้อย่างไร
24 find  recursive 


4
ระบุไฟล์ที่มีอักขระที่ไม่ใช่ ASCII หรือไม่สามารถพิมพ์ได้ในชื่อไฟล์
ในไดเรกทอรีขนาด 80GB ที่มีประมาณ 700,000 ไฟล์มีชื่อไฟล์บางส่วนที่มีอักขระที่ไม่ใช่ภาษาอังกฤษในชื่อไฟล์ นอกเหนือจากการสืบค้นผ่านรายการไฟล์อย่างตั้งใจแล้ว: วิธีง่ายๆในการแสดงรายการหรือระบุชื่อไฟล์เหล่านี้คืออะไร? วิธีสร้างตัวอักษรที่ไม่ใช่ภาษาอังกฤษที่พิมพ์ได้ - ตัวอักษรเหล่านั้นที่ไม่ได้อยู่ในช่วงที่พิมพ์ได้man ascii(ดังนั้นฉันสามารถทดสอบว่าไฟล์เหล่านี้ถูกระบุ)?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.