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

ค้นหาไฟล์ในลำดับชั้นไดเรกทอรี

8
ฉันสามารถสร้าง `find` return non-0 เมื่อไม่พบไฟล์ที่ตรงกันได้หรือไม่?
แม้ในขณะที่/tmpไม่มีไฟล์ที่เรียกsomethingค้นหาด้วยfindจะกลับ 0: $ find /tmp -name something $ echo $? 0 ฉันจะได้รับสถานะการออกที่ไม่ใช่ศูนย์findได้อย่างไรเมื่อไม่พบสิ่งใด
46 find 

5
Bash find คำสั่งเอาต์พุตแบบละเอียด
มีวิธีที่จะบอกfindคำสั่งbash เพื่อส่งออกสิ่งที่มันทำ (โหมด verbose)? ตัวอย่างเช่นสำหรับคำสั่ง: find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;เพื่อส่งออก: Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102 ...
45 linux  bash  find 

4
ค้นหายูนิกซ์ที่ดีกว่าด้วยการประมวลผลแบบขนาน?
find(1)ยูทิลิตีunix มีประโยชน์มากทำให้ฉันสามารถดำเนินการกับไฟล์จำนวนมากที่ตรงกับข้อกำหนดเฉพาะเช่น find /dump -type f -name '*.xml' -exec java -jar ProcessFile.jar {} \; ข้างต้นอาจเรียกใช้สคริปต์หรือเครื่องมือในทุกไฟล์ XML ในไดเรกทอรีเฉพาะ สมมติว่าสคริปต์ / โปรแกรมของฉันใช้เวลา CPU นานและฉันมีโปรเซสเซอร์ 8 ตัว มันจะดีในการประมวลผลสูงสุด 8 ไฟล์ในเวลาเดียวกัน GNU ช่วยให้สามารถประมวลผลงานคู่ขนานด้วยการ-jตั้งค่าสถานะได้ แต่findดูเหมือนจะไม่มีฟังก์ชั่นดังกล่าว มีวิธีการจัดตารางเวลางานทั่วไปทางเลือกในการเข้าใกล้สิ่งนี้หรือไม่?
43 unix  find 

8
วิธีค้นหาที่อยู่ mac ของเครื่องทั้งหมดในเครือข่าย
มีวิธีง่าย ๆ ในการค้นหาที่อยู่ mac ของเครื่องทั้งหมดในเครือข่ายของฉันแทนที่จะทำ SSH ลงในแต่ละเครื่องและifconfig | grep HWaddrหากมี 300 เครื่องในเครือข่ายฉันต้องการโซลูชันที่ง่ายจริงๆ

8
Linux: การใช้ find เพื่อค้นหาไฟล์ที่เก่ากว่า <วันที่>
findมีการสนับสนุนที่ดีสำหรับการค้นหาไฟล์ที่แก้ไขน้อยกว่า X วันที่แล้ว แต่ฉันfindจะใช้เพื่อค้นหาไฟล์ทั้งหมดที่แก้ไขหลังจากวันที่กำหนดได้อย่างไร ฉันไม่พบสิ่งใดในfindman page ที่จะทำสิ่งนี้เพียงเพื่อเปรียบเทียบกับเวลาไฟล์อื่นหรือเพื่อตรวจสอบความแตกต่างระหว่างเวลาที่สร้างและตอนนี้ การทำไฟล์ด้วยเวลาที่ต้องการและเปรียบเทียบกับวิธีเดียวที่จะทำเช่นนี้?
31 linux  shell  find 

3
ค้นหาคำสั่งการเรียงลำดับเริ่มต้น
ลำดับการเรียงเริ่มต้นสำหรับรายการที่ส่งคืนโดยคำสั่ง linux find คืออะไร ตัวอย่างเช่นถ้าฉันออก find . -type f -name '*mp3' และผลลัพธ์ประกอบด้วยหลายไฟล์ในหลายโฟลเดอร์ย่อยลำดับเริ่มต้นในไดเรกทอรีใดที่อยู่ในรายการ ในเวลาเดียวกันลำดับการเรียงลำดับที่แสดงรายการไฟล์ภายในไดเรกทอรีแต่ละรายการคืออะไร บางครั้งมันกลับมา: ./B/01.mp3 ./A/01.mp3 ./A/04.mp3 ./A/02.mp3 ดูว่าเนื้อหาของสารบบ B อยู่ในรายการเป็นลำดับแรกอย่างไรจากนั้นในไดเรกทอรี A ในเวลาเดียวกันภายในไดเรกทอรี A ไฟล์จะถูกแสดงตามลำดับที่ตลก
30 linux  shell  find 

8
ลบพา ธ จากเอาต์พุตคำสั่ง find
ฉันมีสคริปต์ทุบตีสำหรับการปรับใช้รหัสจากสภาพแวดล้อมเบต้ากับสภาพแวดล้อมการผลิต แต่ปัจจุบันฉันต้องเพิ่มรายการของไฟล์ลงในไฟล์ txt manaully และบางครั้งฉันก็พลาดบางอย่าง โดยพื้นฐานแล้วสคริปต์การปรับใช้ของฉัน cat / ลูปคัดลอกไฟล์ทับ (ส่งออก / นำเข้า db เช่นกัน แต่ไม่เกี่ยวข้อง .. ฮ่า ๆ ) อย่างไรก็ตามฉันต้องการใช้findคำสั่งเพื่อสร้างรายการไฟล์ที่แก้ไขในช่วง 14 วันที่ผ่านมา ปัญหาคือฉันจำเป็นต้องตัดพา ธ ออก./เพื่อให้สคริปต์การปรับใช้ทำงานได้ นี่คือตัวอย่างของการใช้คำสั่ง find: หา -type f -mtime -14&gt; deploy.txt นี่คือบรรทัดที่แมวdeploy.txtในสคริปต์การปรับใช้ของฉัน: for i in `cat deploy.txt`; do cp -i /home/user/beta/public_html/$i /home/user/public_html/$i; done มีความคิดว่าจะทำสิ่งนี้ให้สำเร็จได้อย่างไรโดยใช้ bash scripting? ขอบคุณ!
29 bash  find 

5
ย้ายไฟล์ไปยังไดเรกทอรีอื่นที่เก่ากว่าวันที่
ฉันกำลังมองหาวิธีแก้ปัญหาเพื่อย้ายไฟล์ที่เก่ากว่าปีนับจากวันนี้ พาร์ทิชันบันทึกของฉันกำลังเต็ม แต่ฉันไม่สามารถลบออกได้ พวกเขามีความจำเป็นเป็นเวลานาน อย่างไรก็ตามวิธีแก้ไขปัญหาหนึ่งที่ฉันพบคือ: find /sourcedirectory -mtime 365 -exec mv "{}" /destination/directory/ \; จะใช้งานได้ไหม ถามเพราะ " -mtime 365 " สิ่งนี้จะย้ายไฟล์ที่เก่ากว่าตั้งแต่วันนี้ไปยังตำแหน่งใหม่หรือไม่? ขอขอบคุณ!
28 unix  files  find  copy 

3
ฉันจะจัดการช่องว่างในชื่อไฟล์เมื่อใช้ xargs ในการค้นหาผลลัพธ์ได้อย่างไร
หนึ่งในวิธีปฏิบัติทั่วไปของฉันคือการใช้ greps กับไฟล์ทุกประเภทเช่นหาไฟล์ HTML ทั้งหมดที่มีคำว่า "rumpus" อยู่ในนั้น ฉันจะใช้มัน find /path/to -name "*.html" | xargs grep -l "rumpus" บางครั้งจะกลับมาไฟล์ที่มีช่องว่างในชื่อของมันเช่นfind my new file.htmlเมื่อxargsผ่านสิ่งนี้ไปยังgrepฉันได้รับข้อผิดพลาด: grep: /path/to/bad/file/my: No such file or directory grep: new: No such file or directory grep: file.html: No such file or directory ฉันสามารถดูสิ่งที่เกิดขึ้นที่นี่: ไปป์หรือxargsคือการรักษาพื้นที่เป็นตัวคั่นระหว่างไฟล์ แต่สำหรับชีวิตของฉันฉันไม่สามารถหาวิธีป้องกันพฤติกรรมนี้ได้ สามารถใช้find+ ได้xargsหรือไม่ หรือฉันต้องใช้คำสั่งที่แตกต่างอย่างสิ้นเชิง?
28 find  grep  pipe  xargs 

6
คำสั่งค้นหา Linux - แสดงความคืบหน้า
findผมสงสัยว่าถ้ามีวิธีใดที่จะแสดงชนิดของข้อมูลความคืบหน้าเมื่อค้นหาไฟล์ในลินุกซ์ใช้ ฉันมักจะพบว่าตัวเองกำลังค้นหาไฟล์บนดิสก์ขนาดใหญ่และตัวบ่งชี้ความคืบหน้าบางอย่างจะเป็นประโยชน์อย่างมากเช่นแถบหรืออย่างน้อยไดเรกทอรีปัจจุบัน "ค้นหา" ค้นหามีสคริปต์ใด ๆ ที่ทำเช่นนั้นหรือfindสนับสนุนตะขอบางอย่าง ?
24 linux  find 

2
จะค้นหาไฟล์ในระบบ Debian ที่ไม่ได้ติดตั้งหรือสร้างโดย dpkg ได้อย่างไร?
ฉันเคยติดตั้งบางสิ่งด้วยตนเองมาก่อนและต้องการกำจัดไฟล์ที่เกี่ยวข้องทั้งหมด ดังนั้นฉันต้องการวิธีในการค้นหาไฟล์ทั้งหมดโดยอัตโนมัติ (เช่น / usr) ที่ไม่รวมอยู่ในแพ็คเกจใด ๆ ที่ติดตั้งในระบบ Debian อย่างไรก็ตามฉันจะต้องกรองไฟล์ที่สร้างขึ้นระหว่างการติดตั้งแพ็กเกจ (โดย dpkg สคริปต์หลังการติดตั้งและสิ่งที่คล้ายกัน)
20 debian  apt  find  uninstall  dpkg 

3
วิธีดูไฟล์ที่ซ่อนอยู่โดยใช้คำสั่ง 'find` บน Linux
บนเซิร์ฟเวอร์ Linux ฉันต้องการค้นหาไฟล์ทั้งหมดที่มีนามสกุลไฟล์ที่แน่นอนในไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยทั้งหมด ก่อนหน้านี้ฉันใช้คำสั่งต่อไปนี้เสมอ: find . -type f | grep -i *.php อย่างไรก็ตามจะไม่พบไฟล์ที่ซ่อนอยู่เช่น. myhiddenphpfile.php ต่อไปนี้ค้นหาไฟล์ php ที่ซ่อนอยู่ แต่ไม่ใช่ไฟล์ที่ไม่ได้ซ่อนไว้: find . -type f | grep -i \.*.php ฉันจะค้นหาทั้งไฟล์ php ที่ซ่อนและไม่ซ่อนในคำสั่งเดียวกันได้อย่างไร

3
FreeBSD: จะรู้ขนาดไฟล์จริงใน zfs ที่มีการบีบอัดได้อย่างไร?
ฉันใช้ zfs กับFreeBSD 9.0 x64ของฉันและค่อนข้างพอใจกับมัน แต่ฉันพบว่ามันยากที่จะนับไดเรกทอรีจริงไม่ใช่บีบอัดขนาด แน่นอนฉันสามารถเดินข้ามไดเรกทอรีและนับทุกขนาดไฟล์ด้วย ls แต่ฉันคาดว่าจะมีคีย์พิเศษสำหรับ du เพื่อจุดประสงค์นั้น ดังนั้นฉันจะบอกขนาดไดเรกทอรีสำหรับ dir ที่วางอยู่บน zfs ด้วยการบีบอัดได้อย่างไร Thamk คุณล่วงหน้าสำหรับคำแนะนำฉันง่ายไม่สามารถจำไม่มีวิธี 'ง่าย' เช่นโดยไม่ต้อง 'ค้นหา. / - ประเภท d -exec ls -l' {} '\; | อ๋อ ... '!
18 freebsd  zfs  find  ls  du 

4
วิธีใช้คำสั่ง find เพื่อลบไฟล์ที่ตรงกับรูปแบบ?
ฉันพยายามเขียนคำสั่ง bash ที่จะลบไฟล์ทั้งหมดที่ตรงกับรูปแบบเฉพาะ - ในกรณีนี้มันคือไฟล์บันทึกเก่า vmware ที่สร้างขึ้นทั้งหมด ฉันได้ลองคำสั่งนี้แล้ว: find . -name vmware-*.log | xargs rm อย่างไรก็ตามเมื่อฉันเรียกใช้คำสั่งมันจะปรากฏขึ้นในทุกโฟลเดอร์ที่มีช่องว่างในชื่อของพวกเขา มีวิธีการจัดรูปแบบเส้นทางไฟล์เพื่อให้ xargs ส่งไปยัง rm ที่ยกมาหรือหนีออกมาอย่างถูกต้องหรือไม่?

5
ฉันจะค้นหา (หรือแยก) ไดเรกทอรีและไดเรกทอรีย่อยทั้งหมดที่ตรงกับรูปแบบที่แน่นอน (ใน Linux) ได้อย่างไร
ฉันพยายามใช้คำสั่งค้นหา Linux เพื่อค้นหาไดเรกทอรีและไดเรกทอรีย่อยทั้งหมดที่ไม่มี. svn (โฟลเดอร์ย่อยที่ถูกซ่อนอยู่) ในเส้นทางของพวกเขา ฉันสามารถทำให้มันแยกไดเรกทอรี. svn จริง ๆ เท่านั้น แต่ไม่รวมถึงไดเรกทอรีย่อย นี่คือสิ่งที่ฉันทำตอนนี้: find . -type d \! -iname '*.svn*' ฉันยังลอง: find . -type d \! iname '.svn' \! iname '.svn/*' แค่ FYI ฉันพยายามใช้รูปแบบการค้นหาเพื่อให้ฉันสามารถใช้คุณสมบัติการโค่นล้มบางอย่างกับไดเรกทอรีทั้งหมดในที่เก็บของฉันยกเว้นโฟลเดอร์ที่ถูกโค่นล้มที่ถูกซ่อนและ sub-directory ของพวกเขา (โดยใช้คำสั่ง exec กับไดเรกทอรีที่ส่งคืนจากคำสั่ง find ) .. TIA

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