Ls में क्या मतलब है d -l | grep ^ d


13

जब मैं ls -l | grep ^dइसे करता हूं तो केवल वर्तमान निर्देशिका में निर्देशिकाओं को सूचीबद्ध करता है।

मैं जानना चाहता हूं कि कैरेट ^का ^dमतलब क्या है?


संबंधित जानकारी के लिए, नियमित अभिव्यक्तियों को देखें या grep में नियमित अभिव्यक्तियों का उपयोग करने पर इस पृष्ठ की जाँच करें: robelle.com/smugbook/regexpr.html
ट्रे

यह काम करता है, लेकिन उप-अपनाने योग्य है। ls */इसके बजाय पर विचार करें , जो लंबी सूची के साथ या उसके बिना काम करेगा ( ls -l) और बिना आवश्यकता के grep(और इस तरह बहुत थोड़ा तेज है) और कम संभावना है (की तुलना में ls -l *) एक तर्क सूची में भाग लेने के लिए बहुत लंबा मुद्दा (क्योंकि यह सिर्फ निर्देशिकाओं को कमांड में डालता है। लाइन)। बेशक, find . -maxdepth 1 -type dयह और भी बेहतर है, क्योंकि यह आपकी कमांड लाइन को बिल्कुल भी अव्यवस्थित नहीं करता है।
एडम काटज़

जवाबों:


21

एंडी का उत्तर सही है, जैसा कि मैन पेज में देखा गया है:

एंकरिंग

कैरेट ^ और डॉलर साइन $ मेटा-वर्ण हैं जो क्रमशः एक पंक्ति के आरंभ और अंत में खाली स्ट्रिंग से मेल खाते हैं।

कारण यह काम करता है कि यह लंबी सूची प्रारूप का उपयोग -lकरने के लिए झंडा है ls। प्रत्येक पंक्ति में दिखाई गई पहली चीज़ फ़ाइल के लिए मानव-पढ़ने योग्य अनुमतियाँ है, और उस का पहला वर्ण या तो dएक निर्देशिका के लिए या -फ़ाइल के लिए है


14

वह कैरेट है, गाजर नहीं। इसका मतलब है "लाइन की शुरुआत।" Grep केवल "d" से शुरू होने वाली लाइनों से मेल खाता है।

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