จะแสดงรายการไฟล์และไดเรกทอรีที่ซ่อนอยู่ซ้ำ ๆ ทั้งหมดได้อย่างไร


13

ฉันต้องการแสดงรายการไฟล์และไดเรกทอรีที่ซ่อนอยู่ทั้งหมดจากนั้นบันทึกผลลัพธ์ลงในไฟล์

มีคำสั่งสำหรับสิ่งนี้หรือไม่?

คำตอบ:


13

หากใช้ GNU find คุณสามารถทำได้

find /path -path '*/.*' -ls | tee output-file

แก้ไข

เพื่อหลีกเลี่ยงการแสดงรายการที่ไม่ซ่อนอยู่ในไดเรกทอรีที่ซ่อนอยู่

find /path -name '.*' >output-file

(ตามที่ระบุไว้teeสามารถหลีกเลี่ยงได้หากคุณไม่จำเป็นต้องเห็นผลลัพธ์และ-lsควรใช้ตัวเลือกหากจำเป็นเท่านั้น)


2
หรือ>แทนที่จะใช้| teeถ้าไม่มีใครต้องการเห็นผลลัพธ์ทั้งหมดในเทอร์มินัล
rozcietrzewiacz

คุณไม่จำเป็นต้องใช้-lsสิ่งนี้ซึ่งอาจเป็นข้อมูลที่ยุ่งเหยิงเป็นพิเศษในการแยกวิเคราะห์ความคิด
Caleb

สิ่งนี้แสดงรายการเนื้อหาของไดเรกทอรีที่ซ่อนอยู่ซึ่งไม่ใช่สิ่งที่คำถามต้องการ (อาจเป็น - มันคลุมเครือเล็กน้อย)
Gilles 'หยุดความชั่วร้าย'

@Gilles: แน่นอนมันไม่ชัดเจน แก้ไขคำตอบ
enzotib

โปรดทราบว่าคนแรกไม่เฉพาะ GNU -pathเป็น POSIX ตั้งแต่ปี 2008 -lsไม่ใช่มาตรฐาน แต่ค่อนข้างธรรมดา
Stéphane Chazelas

10

ในการแสดงรายการไฟล์และไดเรกทอรีที่ซ่อนอยู่ในไดเรกทอรีปัจจุบันรวมถึง.และ..:

echo .*

ในการแสดงรายการไฟล์และไดเรกทอรีที่ซ่อนอยู่ในไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยซ้ำ:

find . -name '.*'

หากคุณต้องการบันทึกผลลัพธ์ไปยังไฟล์ให้ใช้การเปลี่ยนเส้นทาง:

find . -name '.*' >output-file.txt

1

ด้วยzsh(โดยใช้ตัวระบุglob D ):

print -rl ./**/.*(D)

หากต้องการรวมไฟล์ที่ไม่ได้ซ่อนไว้ในไดเรกทอรีที่ซ่อนอยู่:

setopt extendedglob
print -rl ./**/*~^*/.*(D)

0

คุณสามารถใส่อาร์กิวเมนต์เดียวกันหลาย ๆ ครั้งในบรรทัดคำสั่งเดียวกัน:

find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli

tee -aคำสั่งสามารถที่จะแสดงผลลัพธ์ของคำสั่ง (หรือstdout ) พร้อมกัน whie การเขียนไปยังแฟ้ม -aป้องกันตัวเลือกclobberingและไม่ผนวกข้อมูลไปยังไฟล์ที่ส่งออกเป้าหมายแทน

/storage/????-????/เป็นเส้นทางตัวอย่าง เป็นเส้นทางไปยังการ์ด MicroSD ของโทรศัพท์มือถือ Android รุ่นใหม่ (นอกจากนี้ยังมีแอปพลิเคชั่นเทอร์มินัลสำหรับ Android ที่มีคำสั่งน้อยลง แต่ยังคงมีจำนวนเพิ่มขึ้นอย่างมากตั้งแต่ Android 6.0) การ์ด MicroSD /storage/extSdCardเคยเป็น ตอนนี้มันเป็นหมายเลขซีเรียลปริมาณ

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