Saya mencari file "WSFY321.c" dalam hierarki direktori besar.
Biasanya saya akan menggunakan GNU find : find . -name "WSFY321.c"
Tapi saya tidak tahu kasusnya, bisa jadi huruf besar, huruf kecil, atau campuran keduanya.
Apa cara termudah untuk menemukan file ini?
Adakah sesuatu yang lebih baik dari itu find . | grep -i "WSFY321.c"
?
-type f
tanda tersebut sehingga tidak akan repot melihat nama jika inode adalah direktori. Tapi itu tingkat optimasi yang luar biasa ...find . -iname \*WSFY321.c\* -type f
Dengan GNU find, atau versi lain dari find yang memilikinya:
Dengan versi lain:
Atau kompromi yang lebih lambat tetapi lebih mudah untuk mengetik:
Atau dalam zsh:
sumber
grep
versi penyaringan hanya huruf, dan saya tidak mengerti '[^ /]' .. (tidak /)*
setelah/
versi bash. Maksud sayagrep -i
. Saya menggunakan[^/]*
daripada.*
agar tidak menangkap file dalam direktori yang namanya dimulai denganWSFY
.shopt -s extglob nocaseglob globstar; printf '%s\n' **/WSFY321.c
... Saya kira itu sebabnya itu disebut nocase gumpal : hanya bekerja dalam konteks gumpal (atau begitu tampaknya).Dua solusi untuk macOS:
Menggunakan GNU
find
:Menggunakan GNU
sed
:sumber