Bagaimana saya bisa menemukan file dengan pathname terpanjang di macOS?


0

Saya mencoba men-debug masalah dengan alat cadangan Backblaze saya, di suatu tempat saya memiliki file dengan pathname yang sangat panjang yang perlu saya temukan. Apa perintah terminal yang dapat saya gunakan untuk menemukan file dengan nama jalur lengkap terpanjang atau daftar sesuatu seperti 10 file nama panjang teratas?

Jawaban:


2

Perintah berikut harus melakukan pekerjaan: -

find /DirHead|while read -r f; do echo $(wc -c <<<$f): $f; done|sort -n|tail -n 1

Mengikuti komentar Gordon Davisson, ada alternatif yang lebih rapi: -

find /DirHead | awk '{print length($0), $0}' | sort -n | tail -n 1

Anda dapat mengatur /DirHeadke /, tetapi ini akan sangat lambat, jadi jika Anda memiliki ide di mana jalan panjang ini berada, itu akan mempercepat jika Anda menggunakannya.

Ini tidak akan mengikuti tautan simbolis: jika Anda ingin melakukan ini, Anda perlu menambahkan opsi find.

Untuk setiap file wc -cmenghitung jumlah byte dalam nama file dari input standar, dan jumlah ini adalah output dengan nama file; baris terakhir dari jenis numerik kemudian akan menjadi yang terpanjang, atau tail -n 10akan daftar 10 terpanjang.

Saya menguji ini di Ubuntu, tidak memiliki akses mudah ke OS / X.


Anda dapat mempercepatnya dengan mengganti while readloop dengan awk '{print length($0), $0}'. BTW, saya mengujinya (baik varian while readdan awk) pada macOS dan juga berfungsi di sana.
Gordon Davisson

@GordonDavisson - Terima kasih, ini jauh lebih rapi.
AFH
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.