for i in $(ls);do
if [ $i = '*.java' ];then
echo "I do something with the file $i"
fi
done
मैं वर्तमान फ़ोल्डर में प्रत्येक फ़ाइल के माध्यम से लूप करना चाहता हूं और यह जांचता हूं कि क्या यह किसी विशिष्ट एक्सटेंशन से मेल खाता है। उपरोक्त कोड काम नहीं करता है, क्या आप जानते हैं कि क्यों?
$i
शाब्दिक स्ट्रिंग "* .java" से तुलना कर रहे हैं ; पैटर्न विस्तार यहां नहीं किया जाता है।
if [[ $i == *.java ]]; then
.. (डबल [[]] s और निर्विवाद * .java पर ध्यान दें)।
ls
- @ chepner का जवाब स्वीकार करें
for i in $(ls *.java); do echo "do something with file $i"; done
?