Bisakah Anda memberi saya contoh menggunakan perintah pohon untuk menyaring hasil sebagai berikut:
- untuk mengabaikan direktori (katakanlah
bin
,unitTest
) - hanya daftar file tertentu memiliki ekstensi (misalnya
.cpp
,.c
,.hpp
,.h
) - memberikan nama path lengkap hanya file yang dihasilkan yang cocok dengan kriteria.
tree
command-switch
Linda
sumber
sumber
-I bin
tidak-I bin/
.sed: illegal option -- I
gunakan
find
dantree
perintah yang digunakan find'sprune
untuk mengecualikan direktori pencarian dan digunakantree -P
untuk mencari pola.Gunakan prune switch, misalnya jika Anda ingin mengecualikan
misc
direktori, tambahkan saja-path ./misc -prune -o
ke perintah find Anda.untuk misalnya.
find . -path ./misc -prune -o -exec tree -P <pattern> {} \;
atau bisa kamu gunakan-name "*.cpp" in find
untuk mengecualikan penggunaan beberapa direktori
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o
sumber
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o
ataufind . -path ./misc -prune -o -exec tree -P *.cpp {} \;
Solusi sebenarnya adalah untuk mengeluarkan path lengkap, memfilter path yang tidak diinginkan, dan akhirnya memperbaiki output.
Jika semua file diperlukan dalam output, hapus parameter "d".
Penjelasan terperinci dapat ditemukan di: http://qaon.net/press/archives/572 jika Anda dapat memahami bahasa Jepang.
sumber