Score:2

เหตุใดเอาต์พุตจึงแตกต่างจากการนับไฟล์

ธง in

ฉันแค่ต้องการนับไฟล์ทั้งหมดในไดเร็กทอรี ฉันใช้สองวิธีที่ฉันพบ:

  1. ต้นไม้ /home/bkp ด้วยวิธีนี้เอาต์พุตคือ 2177879 ไฟล์.

  2. ค้นหา /home/bkp -type f | สุขา -l และด้วยประการหนึ่งนั้นก็คือ 2176704 ไฟล์

อะไรสร้างความแตกต่าง? ฉันจะนับจำนวนทั้งหมดภายใต้ไดเร็กทอรีและไดเร็กทอรีย่อยทั้งหมดได้อย่างไร

ขอขอบคุณ!

Terrance avatar
id flag
เป็นคำถามที่ดีที่นี่ อย่างไรก็ตามดูเหมือนว่าอย่างใดอย่างหนึ่งมีข้อผิดพลาด ลองทำ `tree -d` และ `find` ด้วย `-type d` สำหรับไดเร็กทอรี และคุณจะได้ผลลัพธ์ 2 รายการที่แตกต่างกันโดยสิ้นเชิงเช่นกัน คำถามก็คือ อันไหนมีบั๊ก?
bac0n avatar
cn flag
ที่เกี่ยวข้อง: [วิธีนับโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมด...](https://askubuntu.com/a/1360535/986805)
Márton Stark avatar
in flag
สวัสดี ฉันลองทั้งสองอย่างแล้ว แต่ยังมีความแตกต่างอยู่ ด้วย `tree -d` **306647** และ `find` **306760** คิดว่าคงไม่ได้เริ่มนับเอง :-D :)
Gounou avatar
us flag
ลอง `ls -alR | grep -c '^-'` เพื่อนับไฟล์และเปรียบเทียบผลลัพธ์กับ tree และค้นหา (หากคุณไม่ได้เพิ่มไฟล์ในไดเร็กทอรีตั้งแต่นั้นมา) `tree -ad` (นับไดเรกทอรีที่ซ่อนอยู่ด้วย) เท่ากับ `find -type d` ที่สามารถอธิบายความแตกต่างระหว่างทั้งสองได้ อย่างไรก็ตาม ฉันไม่เข้าใจว่าทำไมเอาต์พุต `tree /home/bkp` จึงมากกว่า `find`นี่เป็นโฟลเดอร์สำรองข้อมูลอัตโนมัติหรือคุณคิดว่าจำนวนไฟล์อาจมีการเปลี่ยนแปลงระหว่างสองคำสั่ง
Terrance avatar
id flag
แม้แต่ `tree -ad` และ `find . -type d` ทั้งคู่มีผลรวมต่างกัน คำสั่ง `find` มักจะมีจำนวนน้อยลง
Score:3
ธง us
ต้นไม้
# ยังส่งออกไดเร็กทอรี แต่ไม่ใช่ไฟล์ที่ซ่อนอยู่
.
âââ ไดเร็กทอรี1
âââ ไดเร็กทอรี2
âââ ไฟล์1
âââ ไฟล์2

ต้นไม้ -a
# ยังส่งออกไฟล์ที่ซ่อนอยู่และไดเรกทอรีที่ซ่อนอยู่
.
âââ ไดเร็กทอรี1
âââ ไดเร็กทอรี2
âââ ไฟล์1
âââ ไฟล์2
âââ .Hidden_Directory1
âââ .Hidden_Directory2
âââ .Hidden_File1
âââ .Hidden_File2

ค้นหา - ประเภทฉ
# ไฟล์และไฟล์ที่ซ่อนอยู่
./ไฟล์1
./ไฟล์2
./.Hidden_File1
./.Hidden_File2

ต้นไม้ -aifF | grep -v '/$'
# ไฟล์เอาต์พุตและไฟล์ที่ซ่อนอยู่
.
./ไฟล์1
./ไฟล์2
./.Hidden_File1
./.Hidden_File2

ที่มา: วิธีทำให้ต้นไม้ออกเฉพาะไฟล์?

เดอะ -ผม และ -ฉ สาเหตุข้อโต้แย้ง ต้นไม้ เพื่อส่งออกเส้นทางแบบเต็มในแต่ละรายการ เส้นแทนที่จะเยื้อง เดอะ -ฉ อาร์กิวเมนต์ทำให้มันต่อท้าย / ไปยังชื่อไดเร็กทอรีซึ่งกรองออกโดย grep กลับด้าน (grep -v '/$').

ต้นไม้มนุษย์
-f พิมพ์คำนำหน้าเส้นทางแบบเต็มสำหรับแต่ละไฟล์
-i ทำให้ต้นไม้ไม่พิมพ์เส้นเยื้อง มีประโยชน์เมื่อ 
       ใช้ร่วมกับตัวเลือก -f ยังกำจัดได้มาก 
       ช่องว่างที่เป็นไปได้เมื่อใช้กับตัวเลือก -J หรือ -x

โพสต์คำตอบ

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