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

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

6
วิธีเรียกใช้ find -exec
ฉันต้องการค้นหาไฟล์ในไดเรกทอรีปัจจุบันที่มีข้อความ "chrome" $ find . -exec grep chrome find: missing argument to `-exec' ผมทำอะไรผิดหรือเปล่า?
477 find 

9
ฉันจะหา symlinks ที่ชำรุดได้อย่างไร
มีวิธีการค้นหาลิงก์สัญลักษณ์ทั้งหมดที่ไม่ได้ชี้ไปที่ใด? find ./ -type l จะให้ลิงก์สัญลักษณ์ทั้งหมดแก่ฉัน แต่ไม่แยกความแตกต่างระหว่างลิงก์ที่ไปที่ใดที่หนึ่งและลิงก์ที่ไม่มี ฉันกำลังทำ: find ./ -type l -exec file {} \; |grep broken แต่ฉันสงสัยว่ามีวิธีแก้ปัญหาอื่นใดบ้าง

3
หา - exec rm กับ -delete
ฉันพยายามเข้าใจความแตกต่างระหว่างสองคำสั่งนี้: sudo find / -name .DS_Store -delete และ sudo find / -name ".DS_Store" -exec rm {} \; ฉันสังเกตเห็นว่าexecวิธีนี้เป็นที่ต้องการ ทำไม? อันไหนปลอดภัยกว่า / เร็วกว่า / ดีกว่า ฉันใช้ทั้งMacbookแล้วดูเหมือนว่าทุกอย่างจะทำงานได้ดี
260 find  rm  command 

3
ค้นหาคำสั่ง: วิธีการเพิกเฉยกรณีและปัญหา?
ฉันกำลังมองหาไฟล์ "WSFY321.c" ในลำดับชั้นไดเรกทอรีขนาดใหญ่ โดยปกติฉันจะใช้GNU ค้นหา : find . -name "WSFY321.c" แต่ฉันไม่ทราบว่าเป็นตัวพิมพ์ใหญ่อาจเป็นตัวพิมพ์ใหญ่ตัวพิมพ์เล็กหรือทั้งสองอย่าง วิธีที่ง่ายที่สุดในการค้นหาไฟล์นี้คืออะไร? มีอะไรที่ดีไปกว่านี้find . | grep -i "WSFY321.c"?
170 find 

6
เหตุใดการวนซ้ำของผลลัพธ์ที่ไม่เหมาะสมของ find find
คำถามนี้ได้รับแรงบันดาลใจจาก เหตุใดการใช้เชลล์ลูปเพื่อประมวลผลข้อความจึงถือว่าไม่ดี? ฉันเห็นโครงสร้างเหล่านี้ for file in `find . -type f -name ...`; do smth with ${file}; done และ for dir in $(find . -type d -name ...); do smth with ${dir}; done ถูกใช้ที่นี่เกือบทุกวันแม้ว่าบางคนใช้เวลาในการแสดงความคิดเห็นในโพสต์เหล่านั้นอธิบายว่าทำไมสิ่งประเภทนี้ควรหลีกเลี่ยง ... การ เห็นจำนวนโพสต์ดังกล่าว (และความจริงที่ว่าบางครั้งความคิดเห็นเหล่านั้น ฉันคิดว่าฉันอาจถามคำถามเช่นกัน: ทำไมวนลูปfindของการส่งออกปฏิบัติไม่ดีและสิ่งที่เป็นวิธีการที่เหมาะสมในการทำงานอย่างน้อยหนึ่งคำสั่งสำหรับแต่ละชื่อไฟล์ / เส้นทางกลับโดยfind?
170 files  find  filenames  for 

7
จะลบไดเรกทอรีว่างทั้งหมดในทรีย่อยได้อย่างไร
ฉันจะลบไดเรกทอรีว่างทั้งหมดในทรีย่อยได้อย่างไร ฉันใช้สิ่งที่ชอบ find . -type d -exec rmdir {} 2>/dev/null \; แต่ฉันต้องทำงานหลายครั้งเพื่อลบไดเรกทอรีที่มีไดเรกทอรีว่างเท่านั้น ยิ่งกว่านั้นมันค่อนข้างช้าโดยเฉพาะอย่างยิ่งใน cygwin
151 directory  find  rm 

7
วิธีการลบไดเรกทอรีตามผลลัพธ์ของ find find?
ฉันออกคำสั่งต่อไปนี้เพื่อค้นหาไดเรกทอรี. svn: find . -name ".svn" ที่ให้ผลลัพธ์ต่อไปนี้กับฉัน: ./toto/.svn ./toto/titi/.svn ./toto/tata/.svn ฉันจะประมวลผลบรรทัดทั้งหมดเหล่านี้ด้วยวิธีการrm -frเพื่อลบไดเรกทอรีและเนื้อหาได้อย่างไร
148 find  rm  subversion 

4
ลบไฟล์ที่เก่ากว่า X days +
ฉันพบคำสั่งเพื่อลบไฟล์ที่เก่ากว่า 5 วันในโฟลเดอร์ find /path/to/files* -mtime +5 -exec rm {} \; แต่ฉันจะทำเช่นนี้สำหรับไดเรกทอรีย่อยในโฟลเดอร์นั้นได้อย่างไร
143 files  find  rm  timestamps 




3
การค้นหาไฟล์ขนาดใหญ่ทั้งหมดในระบบไฟล์รูท
ฉันมีเซิร์ฟเวอร์ linux ซึ่งปัจจุบันมีการใช้พื้นที่ด้านล่าง: /dev/sda3 20G 15G 4.2G 78% / /dev/sda6 68G 42G 23G 65% /u01 /dev/sda2 30G 7.4G 21G 27% /opt /dev/sda1 99M 19M 76M 20% /boot tmpfs 48G 8.2G 39G 18% /dev/shm อย่างที่เห็น. /อยู่ที่ 78% ฉันต้องการตรวจสอบว่าไฟล์หรือโฟลเดอร์ใดใช้พื้นที่ว่าง ฉันลองสิ่งนี้: find . -type d -size +100M ซึ่งแสดงผลลัพธ์แบบนี้: ./u01/app/june01.dbf ./u01/app/temp01.dbf ./u01/app/smprd501.dbf ./home/abhishek/centos.iso ./home/abhishek/filegroup128.jar …
124 find  disk-usage 

7
เหตุใดค้นหา -mtime +1 จึงส่งคืนไฟล์ที่เก่ากว่า 2 วันเท่านั้น
ฉันดิ้นรนที่จะปิดใจว่าทำไมการfindตีความหมายถึงการปรับเปลี่ยนไฟล์เป็นเท่าที่ควร โดยเฉพาะฉันไม่เข้าใจว่าทำไมไฟล์-mtime +1จึงไม่แสดงน้อยกว่า 48 ชั่วโมง เป็นตัวอย่างการทดสอบฉันสร้างสามไฟล์ทดสอบที่มีวันที่แก้ไขแตกต่างกัน: [root@foobox findtest]# ls -l total 0 -rw-r--r-- 1 root root 0 Sep 25 08:44 foo1 -rw-r--r-- 1 root root 0 Sep 24 08:14 foo2 -rw-r--r-- 1 root root 0 Sep 23 08:14 foo3 จากนั้นฉันก็วิ่งไปหา-mtime +1สวิตช์และได้ผลลัพธ์ต่อไปนี้: [root@foobox findtest]# find -mtime +1 ./foo3 จากนั้นฉันก็วิ่งไปหา-mmin +1440และได้ผลลัพธ์ต่อไปนี้: [root@foobox …
117 find  timestamps 


4
วิธีรวมเงื่อนไข 2-name เข้ากับ find
ฉันต้องการค้นหาไฟล์ที่ไม่ตรงกับ 2 -nameเงื่อนไข ฉันสามารถทำมันได้เช่น: find /media/d/ -type f -size +50M ! -name "*deb" ! -name "*vmdk" และสิ่งนี้จะให้ผลลัพธ์ที่เหมาะสม แต่ฉันสามารถเข้าร่วม 2 เงื่อนไขกับหรืออย่างใด?
94 bash  shell  find 

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