मैं वास्तव में बैश के साथ नया हूं, लेकिन यह स्कूल के विषयों में से एक है। अभ्यास में से एक था:बैश: कमांड आउटपुट से grep पैटर्न
फ़ाइल "/ etc/passwd" की लाइन संख्या दें जहां आपके लॉगिन के बारे में जानकारी है।
मान लीजिए USERNAME
मेरे अपने लॉगिन आईडी है, मैं इस तरह से पूरी तरह से यह करने के लिए कर रहा था:
cat /etc/passwd -n | grep USERNAME | cut -f1
जो केवल आवश्यक लाइन नंबर दिया (वहाँ एक और अधिक अनुकूलित तरीका हो सकता है)। हालांकि, मुझे आश्चर्य हुआ कि यदि कमांड को अधिक सामान्य बनाने का कोई तरीका था, तो यह whoami
के आउटपुट का उपयोग करता है ताकि grep पैटर्न, स्क्रिप्टिंग के बिना या एक चर का उपयोग कर। दूसरे शब्दों में, यह पढ़ने में आसान-से-एक लाइन आदेश रखने के लिए है, तो जैसे:
cat /etc/passwd -n | grep (whoami) | cut -f1
क्षमा करता है, तो यह वास्तव में noob सवाल है।
ठीक है, बैकटीक्स ... बेशक :) धन्यवाद! – MarioDS
एंकरिंग के बिना, यदि आपका लॉगिन नाम लाइन पर कहीं और मेल खाता है तो यह झूठे मैचों का उत्पादन कर सकता है। मेरे पास एक स्थानीय सिस्टम पर एक छोटा लॉगिन नाम होता था जो "सिस्टम ऑपरेटर" का एक सबस्ट्रिंग (मिलान करने वाला) होता था, इसलिए कुछ बेवकूफ सॉफ़्टवेयर सोचा था कि जब मैं नहीं था तो मैं 'रूट' था। – tripleee