Score:2

วิธีค้นหาโฟลเดอร์ย่อยเดียวกันในสองโฟลเดอร์ในระดับแรกเท่านั้น

ธง cn

สถานการณ์:

  • โฟลเดอร์หลัก 2 โฟลเดอร์ ที่อาจมีโฟลเดอร์ย่อยที่มีชื่อเหมือนกัน (ฉันไม่รู้ว่าชื่ออะไรซ้ำกัน ฉันกำลังพยายามค้นหาอยู่)
  • โฟลเดอร์ย่อยมีไฟล์และโฟลเดอร์ย่อยอื่น ๆ มากมาย ดังนั้นเครื่องมือที่มีการเรียกซ้ำอัตโนมัติจึงไม่ใช่ตัวเลือก
  • ฉันสนใจเฉพาะชื่อโฟลเดอร์ย่อยที่ซ้ำกันในระดับแรกของโฟลเดอร์หลักทั้งสอง
  • เนื้อหาของโฟลเดอร์ย่อยไม่สำคัญ
  • เนื้อหาของไฟล์ไม่สำคัญ

ฉันลองใช้ หลอมรวม GUI แต่นั่นใช้เวลาไม่รู้จบสำหรับโครงสร้างเหล่านี้

ฉันลองใช้ diff --brief --report-identical-files โฟลเดอร์1 โฟลเดอร์2 แต่โดยทั่วไปแล้วรายงานทุกอย่าง และไม่มีแม้แต่โฟลเดอร์ ดังนั้นฉันจึงทำไม่ได้ | grep เหมือนกัน.

ฉันใช้เครื่องมือผิดหรือเปล่า? หรือมีเคล็ดลับบางอย่างที่ฉันไม่ได้รับจาก ความแตกต่าง -- ช่วย ? หรือฉันทำอะไรผิด?

ขอบคุณ

Score:5
ธง in

ฉันจะใช้แบบง่ายๆ หา:

ค้นหา "/path/to/main1" "/path/to/main2" -minความลึก 1 -สูงสุดความลึก 1 -type d -printf '%f\n' | จัดเรียง | ยูนิค -d

หรือเพื่อทำให้สิ้นสุดเป็นศูนย์เพื่อป้องกันปัญหาเกี่ยวกับอักขระขึ้นบรรทัดใหม่:

ค้นหา "/path/to/main1" "/path/to/main2" -minความลึก 1 -สูงสุดความลึก 1 -type d -printf '%f\0' | จัดเรียง -z | ยูนิค -zd | xargs -0
terdon avatar
cn flag
@jave.web ไม่คัดลอก: สร้างโฟลเดอร์ใหม่ จากนั้นสร้าง symlinks ไปยังไดเร็กทอรีเป้าหมายสองไดเร็กทอรีของคุณในโฟลเดอร์ใหม่นี้ และใช้ `find -L /path/to/new/folder -minความลึก ....` (the ` -L` บอก 'ค้นหา' เพื่อติดตาม symlinks) ด้วยวิธีนี้คุณไม่จำเป็นต้องทำซ้ำข้อมูล
jave.web avatar
cn flag
ตกลง หลังจากแก้ไขแล้ว มันทำงานตรงตามที่คาดไว้ (โปรดทราบว่าคุณต้องการเหมือนกันสำหรับไฟล์ให้ใช้ `-type f` แทน `-type d` @terdon ขอบคุณสำหรับคำแนะนำที่เป็นแนวทางเช่นกัน
Score:1
ธง hr

โดยใช้ zsh, ที่ให้ไว้

% ต้นไม้ dir1 dir2
ผู้อำนวยการ1
âââ บาร์
âââ ฟู
    âââ บาซ
ผู้อำนวยการ2
âââ บาร์
â âââ บาซ
âââ บาซ

6 ไดเร็กทอรี 0 ไฟล์

แล้ว

% a=( dir1/*(/ND:t) ); b=( dir2/*(/ND:t) )

สร้างอาร์เรย์ของ ทีails (ชื่อฐาน) ของไดเร็กทอรี / ในสองไดเร็กทอรีระดับบนสุด ผู้อำนวยการ1 และ ผู้อำนวยการ2 (กับ otglob และ เอ็นเปิดใช้งานตัวเลือก ulllglob)

จากนั้นเราสามารถใช้ส่วนขยายของแบบฟอร์ม ${ชื่อ:*ชื่ออาร์เรย์} เพื่อรักษาเฉพาะองค์ประกอบที่มีอยู่ในอาร์เรย์ทั้งสอง:

% พิมพ์ -rC1 ${a:*b}
บาร์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา