Saya ingin menemukan daftar file (tidak ada direktori) kecuali yang di bawah .git
Saya mencoba beberapa find
sintaks yang disarankan untuk dicapai seperti yang disarankan dalam pertanyaan SO ini:
https://superuser.com/questions/397307/how-to-ignore-certain-filenames-using-find
Inilah yang saya coba
find . -type f ! -name '*.git*'
find . \( -type f -prune -o \! -name '*git*' \)
find . \( -type f -prune -o \! -name *git* \)
find . \( -type f -prune -o ! -name *git* \)
Tetapi output selalu berisi file dalam .git
. Berikut adalah sebagian daftar
.
./.coveragerc
./.DS_Store
./.git/.DS_Store
./.git/COMMIT_EDITMSG
./.git/config
./.git/FETCH_HEAD
./.git/HEAD
./.git/hooks
./.git/hooks/disable-commit-msg
./.git/hooks/pre-push
./.git/hooks/prepare-commit-msg
./.git/index
./.git/info
./.git/info/exclude
./.git/info/refs
./.git/logs
./.git/logs/HEAD
./.git/logs/refs
./.git/logs/refs/heads
./.git/logs/refs/heads/1312
Versi OS X adalah El Capitan, dan saya menggunakan zsh
. find
berlokasi di/usr/bin
Apakah ini masalah OS X find
? Jika demikian, bagaimana saya bisa mencapai hasil yang saya inginkan?
SUNTING
Saya mencoba perintah ini
find . \( -type d -name '.git' -o -type f \) -prune
dan itu lebih dekat dengan apa yang saya inginkan. Namun dalam output saya masih bisa melihat folder.git
el-capitan
zsh
Anthony Kong
sumber
sumber
find . | grep -v '^\./\.git'
Jawaban:
Jawaban yang diterima tidak benar tetapi dengan komentar itu memulai Anda.
Untuk tidak mendapatkan file html
-nama loks di bagian file path untuk seluruh path yang Anda butuhkan --yaitu benar
Jadi hanya dapatkan file (-type) abaikan direktori .git - perhatikan Anda harus memasukkan pembatas direktori dan. atau Anda menghapus file seperti .gitconfig yang merupakan file yang valid
OK ini terlihat pada semua file -prune mungkin terlihat kurang tetapi kecepatan mungkin tidak masalah itu lebih baik karena dalam semua kode untuk mendapatkan hal kerja yang dimengerti terlebih dahulu
sumber