Seringkali saya memiliki nama file dan sebagian path, misalnya "content / docs / file.xml".
Apakah ada cara sederhana untuk mencari file itu, tanpa memotong bagian-bagian namanya secara manual untuk memberikan nama direktori dan nama file secara terpisah?
Akan lebih bagus jika find
bekerja dengan cara itu, jadi saya bisa lari find content/docs/file.xml
, tapi sayangnya tidak.
linux
command-line
search
find
slhck
sumber
sumber
find -path *content/docs/file.xml
bekerja untukku.Jawaban:
Pass di
*
wildcard untuk mengindikasikan kecocokan untuk apa pun . Anda juga perlu melarikan diri*
, misalnya:atau lampirkan pola dalam tanda kutip, misalnya:
Seperti yang dijelaskan oleh halaman manual:
sumber
find memiliki opsi -wholename juga
find $top_dir -wholename *string*
sumber
atau hanya
sumber
Misalnya mencari file di lokasi menggunakan asterisk / wildcard (
*
) sebagai:dir=“/apps/*/instance01/"
Anda dapat menggunakan find${dir} -name “*.jks”
. menempatkan semua file dalam array seperti ini:jika Anda ingin mendapatkan file dengan ekstensi lain gunakan 'atau' seperti ini:
-name "*.keystore" -o -name "*.jks" -o -name “*.p12"
karena-name
hanya menerima string tunggal jadi gunakan 'atau'.Akhirnya letakkan semuanya dalam array seperti ini:
jika Anda memiliki path lengkap bukan path parsial, lebih mudah untuk menempatkannya dalam array seperti ini:
sumber