Saya menggunakan temukan sepanjang waktu untuk menemukan file yang saya tahu nama, temukan sangat cepat dan saya suka itu. Untuk file yang baru dibuat, temukan hebat, biasanya dengan file yang baru dibuat saya tahu di mana pada dasarnya mereka dibuat jadi saya tidak perlu mencari seluruh sistem file saya.
Ketika saya lupa lokasi direktori namun tidak menemukan atau menemukan yang tampak ideal.
Locate selalu memuntahkan terlalu banyak informasi karena setiap file dalam direktori juga cocok untuk ditemukan. Sebagai contoh jika saya sedang mencari direktori bernama log di suatu tempat di sistem file saya, log lokasi akan mengembalikan berton-ton hasil. Jika saya melakukan hal yang sama dengan find, find / -name log -type d menemukan butuh beberapa menit untuk menjalankan dan meludahkan segala macam kesalahan izin setiap kali menemukan folder yang tidak dapat dibaca.
Apakah ada cara yang lebih baik?
Jawab: Jadi saya bertahan dengan grep sampai saya menemukan sesuatu yang lain:
locatedir () {
for last; do true; done
if [[ $last == *\/* ]]
then
locate $@ | grep "${last}\$"
else
locate $@ | grep "/${last}\$"
fi
}
locate
memiliki kemampuan regex built-in sendiri:-r
atau--regex
... untuk berbagai pilihan, lihat: info'
dalam hal ini:locate -r /log$
sudah cukup.Sudahkah Anda mencoba:
locate /home/insertusernamehere/*/filename
?atau
locate file | grep -i '^/home/.*/examplesubdirectory'
?atau variasi seperti itu?
sumber
grep
itu tidak perlu, dan seperti terlihat pada opsi yang disarankan pertama, tidak ada regexps.Ini dia
sumber