Bagaimana saya bisa mencari nama kartu liar di semua subfolder?


Jawaban:


40

Anda bisa menggunakannya find. Jika, misalnya, Anda ingin menemukan semua file dan direktori yang ada abcddalam nama file, Anda bisa menjalankan:

find . -name '*abcd*'

12

Zsh:

ls -ld -- **/*abcd*

Ksh93:

set -o globstar     # put this line in your ~/.kshrc
ls -ld -- **/*abcd*

Bash ≥4:

shopt -s globstar   # put this line in your ~/.bashrc
ls -ld -- **/*abcd*

Yash:

set -o extendedglob # put this line in your ~/.yashrc
ls -ld -- **/*abcd*

tcsh:

set globstar
ls -ld -- **/*abcd*

ikan:

ls -ld -- **abcd*

(hati-hati beberapa dari kerang itu akan mengikuti symlink ketika turun pohon direktori; beberapa dari mereka yang tidak suka zsh, yashatau tcshharus ***/*abcd*melakukannya).

Portable (kecuali untuk sistem yang sangat lama; OpenBSD butuh waktu lama tetapi akhirnya mendukung exec … +sejak 5.1):

find . -name '*abcd*' -exec ls -ld {} +

Bukan POSIX tetapi berfungsi di * BSD, Linux, Cygwin, BusyBox:

find . -name '*abcd*' -print0 | xargs -0 ls -ld

Perhatikan bahwa kecuali dalam beberapa BSD, jika tidak ada file yang cocok ditemukan, ls -ldakan dijalankan tanpa argumen, demikian juga daftar .. Dengan beberapa xargsimplementasi, Anda dapat menggunakan -ropsi untuk mengatasinya.


apa yang dilakukan shopt -s globstar ??
capybaralet

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.