मैं सभी सबफ़ोल्डरों में एक वाइल्ड कार्ड नाम कैसे खोज सकता हूं? डॉस कमांड के बराबर क्या होगा: dir *pattern* /s
* निक्स में?
मैं सभी सबफ़ोल्डरों में एक वाइल्ड कार्ड नाम कैसे खोज सकता हूं? डॉस कमांड के बराबर क्या होगा: dir *pattern* /s
* निक्स में?
जवाबों:
Zsh:
ls -ld -- **/*abcd*
Ksh93:
set -o globstar # put this line in your ~/.kshrc
ls -ld -- **/*abcd*
बैश ≥4:
shopt -s globstar # put this line in your ~/.bashrc
ls -ld -- **/*abcd*
यश:
set -o extendedglob # put this line in your ~/.yashrc
ls -ld -- **/*abcd*
tcsh:
set globstar
ls -ld -- **/*abcd*
मछली:
ls -ld -- **abcd*
(उन गोले में से कुछ से सावधान रहें, जब निर्देशिका पेड़ उतरते हैं, तो वे सहानुभूति का पालन करेंगे; कुछ ऐसे जो पसंद नहीं करते zsh
, yash
या tcsh
उन्हें ***/*abcd*
करना पड़ता है)।
पोर्टेबल (बहुत पुरानी प्रणालियों को छोड़कर; ओपनबीएसडी ने एक लंबा समय लिया लेकिन अंततः exec … +
5.1 से समर्थन करता है):
find . -name '*abcd*' -exec ls -ld {} +
POSIX नहीं, लेकिन * BSD, Linux, Cygwin, BusyBox पर काम करता है:
find . -name '*abcd*' -print0 | xargs -0 ls -ld
ध्यान दें कि कुछ बीएसडी को छोड़कर, यदि कोई मिलान फ़ाइल नहीं मिली ls -ld
है, तो बिना तर्क के चलाया जाएगा, इसलिए सूची होगी .
। कुछ xargs
कार्यान्वयन के साथ , आप -r
उस के आसपास काम करने के विकल्प का उपयोग कर सकते हैं ।
globstar
।