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

การดำเนินงานในไดเรกทอรีและไดเรกทอรีย่อยซ้ำ


8
จะค้นหาจำนวนที่เก็บไว้ในไดเรกทอรีแบบวนซ้ำได้อย่างไร?
ฉันรู้ว่าคุณสามารถที่จะเห็นขนาดไบต์ของไฟล์เมื่อคุณทำรายชื่อยาวกับหรือll ls -lแต่ฉันต้องการทราบว่ามีพื้นที่เก็บข้อมูลเท่าใดในไดเรกทอรีรวมถึงไฟล์ที่อยู่ในไดเรกทอรีนั้นและไดเรกทอรีย่อยที่อยู่ในนั้นเป็นต้นฉันไม่ต้องการจำนวนไฟล์ แต่จำนวนหน่วยเก็บข้อมูลที่ใช้แทน ดังนั้นฉันต้องการที่จะรู้ว่าปริมาณการจัดเก็บอยู่ในไดเรกทอรีบางอย่างซ้ำ? ฉันเดาถ้ามีคำสั่งว่ามันจะเป็นไบต์

6
ฉันจะ grep ซ้ำผ่านไฟล์. gz ได้อย่างไร
ฉันใช้สคริปต์เพื่อดาวน์โหลดข้อความ gmail ของฉันที่บีบอัดไฟล์. eml แบบ raw เป็นไฟล์. gz เป็นประจำ สคริปต์สร้างโฟลเดอร์สำหรับแต่ละวันจากนั้นบีบอัดทุกข้อความเป็นไฟล์ของตัวเอง ฉันต้องการค้นหาวิธีผ่าน "เก็บถาวร" นี้เพื่อค้นหา Grep เพียงอย่างเดียวดูเหมือนจะไม่ทำเช่นนั้น ฉันยังลอง SearchMonkey

3
วนซ้ำแบบซ้ำ
ฉันต้องการเขียนสิ่งนี้: $ ls **.py เพื่อให้ได้ชื่อไฟล์. py ทั้งหมดให้เดินลำดับชั้นไดเรกทอรีซ้ำ แม้ว่าจะมีไฟล์. py ที่ต้องการค้นหาเชลล์ (bash) จะให้เอาต์พุตนี้: ls: cannot access **.py: No such file or directory มีวิธีใดที่จะทำสิ่งที่ฉันต้องการ แก้ไข:ฉันต้องการระบุว่าฉันไม่สนใจเฉพาะกรณีlsแต่คำถามเกี่ยวกับไวยากรณ์ glob

14
จะลบไฟล์ทั้งหมดในไดเรกทอรีได้อย่างไร?
ฉันพยายามลบไฟล์และไดเรกทอรีย่อยทั้งหมดในไดเรกทอรี ฉันเคยrm -rลบไฟล์ทั้งหมด แต่ฉันต้องการลบไฟล์และไดเรกทอรีย่อยทั้งหมดยกเว้นไดเรกทอรีบนสุด imagesตัวอย่างเช่นผมมีไดเรกทอรีชั้นนำเช่น มันมีไฟล์header.png, footer.pngและไดเรกทอรีย่อย ตอนนี้ผมต้องการที่จะลบheader.png, footer.pngและไดเรกทอรีย่อย imagesแต่ไม่ ฉันจะทำสิ่งนี้ใน linux ได้อย่างไร

6
แบนไดเรกทอรีที่ซ้อนกัน
นี่อาจจะง่ายมาก แต่ฉันไม่สามารถเข้าใจได้ ฉันมีโครงสร้างไดเรกทอรีเช่นนี้ (dir2 อยู่ภายใน dir1): /dir1 /dir2 | --- file1 | --- file2 เป็นวิธีที่ดีที่สุดในการ 'แผ่' โครงสร้างผู้กำกับนี้ในลักษณะที่จะได้รับ file1 และ file2 ใน dir1 ไม่ใช่ dir2

6
ค้นหาข้อความทั่วทั้งระบบไฟล์ได้อย่างไร?
สมมติว่าควรใช้เครื่องมือ grep ฉันต้องการค้นหาสตริงข้อความ "800x600" ตลอดทั้งระบบไฟล์ ฉันเหนื่อย: grep -r 800x600 / แต่มันไม่ทำงาน สิ่งที่ฉันเชื่อว่าคำสั่งของฉันควรทำคือ grep วนซ้ำผ่านไฟล์ / โฟลเดอร์ทั้งหมดภายใต้รูทสำหรับข้อความ "800x600" และแสดงรายการผลการค้นหา ผมทำอะไรผิดหรือเปล่า?
53 grep  recursive 

5
วิธีการคัดลอกไดเรกทอรีซ้ำโดยใช้ลิงก์สำหรับแต่ละไฟล์
ฉันต้องการสร้าง "คัดลอก" ของทรีไดเรกทอรีซึ่งแต่ละไฟล์เป็นฮาร์ดลิงก์ไปยังไฟล์ต้นฉบับ ตัวอย่าง: ฉันมีโครงสร้างไดเรกทอรี: dirA/ dirA/file1 dirA/x/ dirA/x/file2 dirA/y/ dirA/y/file3 นี่คือผลที่คาดหวัง "สำเนา" ของแผนผังไดเรกทอรีที่แต่ละไฟล์เป็นฮาร์ดลิงก์ไปยังไฟล์ต้นฉบับ: dirB/ # normal directory dirB/file1 # hardlink to dirA/file1 dirB/x/ # normal directory dirB/x/file2 # hardlink to dirA/x/file2 dirB/y/ # normal directory dirB/y/file3 # hardlink to dirA/y/file3

5
ฉันจะลบไดเรกทอรีซ้ำด้วยสัญลักษณ์แทนได้อย่างไร
ฉันทำงานผ่าน SSH ใน WD My Book World Edition โดยทั่วไปฉันต้องการเริ่มต้นที่ระดับไดเรกทอรีเฉพาะและลบไดเรกทอรีย่อยที่ตรงกัน.Apple*ทั้งหมดซ้ำ ๆ ฉันจะทำยังไง ฉันเหนื่อย rm -rf .Apple* และ rm -fR .Apple* ไม่ลบไดเรกทอรีที่ตรงกับชื่อนั้นภายในไดเรกทอรีย่อย

9
ใช้ sftp เพื่อถ่ายโอนไดเรกทอรีหรือไม่
เมื่อฉันพยายามใช้ sftp เพื่อถ่ายโอนไดเรกทอรีที่มีไฟล์ฉันได้รับข้อความแสดงข้อผิดพลาด: skipping non-regular file directory_name ไดเรกทอรีประกอบด้วยไฟล์จำนวนหนึ่งและสองไดเรกทอรีย่อย ผมทำอะไรผิดหรือเปล่า?

10
ฉันจะนับไฟล์ทั้งหมดซ้ำผ่านไดเรกทอรีได้อย่างไร
ฉันต้องการดูว่ามีกี่ไฟล์ในไดเรกทอรีย่อยเพื่อค้นหาว่าการใช้ inode ทั้งหมดอยู่ในระบบอย่างไร ฉันชอบทำสิ่งนี้เพื่อการใช้พื้นที่ du -sh /* ซึ่งจะทำให้ฉันมีพื้นที่ที่ใช้ในไดเรกทอรีออกจากรูท แต่ในกรณีนี้ฉันต้องการจำนวนไฟล์ไม่ใช่ขนาด

6
วิธีคัดลอกโฟลเดอร์แบบวนซ้ำโดยใช้ cemp ได้อย่างไร?
เมื่อฉันใช้ cp -R inputFolder outputFolder ผลลัพธ์ขึ้นอยู่กับบริบท : ถ้าไม่อยู่ก็จะถูกสร้างขึ้นและเส้นทางโฟลเดอร์โคลนจะเป็นoutputFolderoutputFolder หากoutputFolderมีอยู่โคลนจะถูกสร้างขึ้นoutputFolder/inputFolder นี้เป็นที่น่ากลัวเพราะผมต้องการที่จะสร้างสคริปต์การติดตั้งบางส่วนและหากผู้ใช้วิ่งมันสองครั้งโดยไม่ได้ตั้งใจเขาจะได้สร้างขึ้นเป็นครั้งแรกแล้วในการทำงานที่สองทุกสิ่งที่จะถูกสร้างขึ้นอีกครั้งในoutputFolderoutputFolder/inputFolder ฉันต้องการพฤติกรรมแรกเสมอ: สร้างโคลนถัดจากต้นฉบับ (เป็นพี่น้อง) ฉันต้องการใช้cpแบบพกพา (เช่น MINGW ไม่มีการrsyncจัดส่ง) ฉันตรวจสอบcp -R --parentsแต่สิ่งนี้จะสร้างเส้นทางใหม่ตลอดเส้นทางไดเรกทอรีต้นไม้ (ดังนั้นโคลนจะไม่เป็นoutputFolderแต่some/path/outputFolder) --remove-destinationหรือ--updateในกรณีที่ 2 ไม่เปลี่ยนแปลงสิ่งใดสิ่งต่าง ๆ ก็ยังคงถูกคัดลอกไปoutputFolder/inputFolder มีวิธีการทำเช่นนี้โดยไม่ตรวจสอบการมีอยู่ของoutputFolder(หากโฟลเดอร์ไม่มีอยู่แล้ว ... ) หรือใช้งานrm -rf outputFolderหรือไม่? วิธีการทำ UNIX แบบพกพาที่ตกลงกันคืออะไร
46 cp  recursive 

6
ย้ายไฟล์ทั้งหมดด้วยส่วนขยายที่แน่นอนจากหลายไดเรกทอรีย่อยลงในไดเรกทอรีเดียว
ฉันมีไฟล์. zip หลายไฟล์ในหลายไดเรกทอรี: Fol1/Fol2 Fol3 Fol4/Fol5 ฉันจะย้ายพวกเขาทั้งหมดไปยังโฟลเดอร์ฐานทั่วไปได้อย่างไร

4
การค้นหาไฟล์ที่ใหญ่ที่สุดแบบเรียกซ้ำ
ฉันพยายามค้นหาไฟล์ที่ใหญ่ที่สุดในไดเรกทอรีแบบเรียกซ้ำ หากมีไดเรกทอรีย่อยในไดเรกทอรีนั้นฟังก์ชันนั้นจะต้องเข้าไปข้างในไดเรกทอรีนั้นและตรวจสอบว่ามีไฟล์ที่ใหญ่ที่สุดหรือไม่ เมื่อพบไฟล์ที่ใหญ่ที่สุดเอาต์พุตจะถูกแสดงด้วยชื่อพา ธ สัมพัทธ์และชื่อและขนาดของไฟล์ที่ใหญ่ที่สุด EX: dude@shell2 (~...assignment/solutions) % bash maxfile.sh ~/test class/asn dude.h.gch: 9481628 นี่คือสิ่งที่ฉันมี: #!/bin/sh clear recursiveS() { for d in *; do if [ -d $d ]; then (cd $d; echo $(pwd)/$line; du -a; recursiveS;) fi done } recursiveS ฉันติดขัดอยู่พักหนึ่งแล้ว ฉันไม่สามารถใช้สิ่งนี้ได้โดยการวางท่อจำนวนเครื่องมือ Unix ที่มีอยู่ ความคิดใด ๆ จะดี!

5
ฉันจะค้นหาไฟล์ทั้งหมดที่ไม่มีสตริงข้อความได้อย่างไร?
ฉันสามารถใช้คำสั่งรวบรัดอะไรเพื่อค้นหาไฟล์ทั้งหมดที่ไม่มีสตริงข้อความ? ฉันลองสิ่งนี้ (โดยใช้ -v เพื่อสลับพารามิเตอร์ของ grep) โดยไม่มีโชค: find . -exec grep -v -l shared.php {} \; มีคนกล่าวว่าสิ่งนี้จะได้ผล: find . ! -exec grep -l shared.php {} \; แต่ดูเหมือนจะไม่ได้ผลสำหรับฉัน หน้านี้มีตัวอย่างนี้: find ./logs -size +1c > t._tmp while read filename do grep -q "Process Complete" $filename if [ $? -ne 0 ] ; …
40 grep  find  recursive 

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