लिनक्स `find` कमांड का उपयोग करके छिपी हुई फ़ाइलों को कैसे देखें


19

लिनक्स सर्वर पर, मुझे वर्तमान निर्देशिका में एक निश्चित फ़ाइल एक्सटेंशन और सभी उप-निर्देशिकाओं के साथ सभी फ़ाइलों को खोजने की आवश्यकता है।

पहले, मेरे पास हमेशा निम्न कमांड का उपयोग होता है:

find . -type f | grep -i *.php

हालाँकि , यह छिपी हुई फ़ाइलों को नहीं खोजता है , उदाहरण के लिए .myhiddenphpfile.php । निम्नलिखित छिपी हुई php फ़ाइलों को ढूँढता है, लेकिन ग़ैर-छिपी हुई फ़ाइलों को नहीं:

find . -type f | grep -i \.*.php

मैं एक ही कमांड में छिपी और गैर-छिपी दोनों php फ़ाइलों को कैसे ढूँढ सकता हूँ?


1
आप जानते हैं कि "grep" में "पुनः" का अर्थ "नियमित अभिव्यक्ति" है, है ना? मुझे कोई सुराग नहीं है कि या तो उन कमांड लाइनों को कैसे काम करना चाहिए ...
इग्नासियो वाज़केज़-अब्राम्स

जवाबों:




0

मुद्दा grep है, न कि खोज (केवल find . -type fयह देखने का प्रयास करें कि मेरा क्या मतलब है)।

यदि आप उद्धृत नहीं करते हैं *तो शेल इसे विस्तारित करेगा - इससे पहले कि grep अपनी कमांड लाइन तर्क भी देखता है; चूंकि शेल डिफ़ॉल्ट रूप से छिपी हुई फ़ाइलों को नहीं ढूंढता है, इसलिए आपके पास समस्याएँ होंगी।

इसका कारण केवल छिपी हुई फ़ाइल को ढूंढना है क्योंकि शेल पहले ही विस्तारित हो चुका है *और इसलिए grep केवल उस एक फ़ाइल से मेल खा रहा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.