2012-07-25 12 views
6

मैं grep का उपयोग कर एक निर्देशिका खोजना चाहता हूं तो परिणामस्वरूप निर्देशिका को वर्तमान निर्देशिका में बदल सकता हूं। उदाहरण के लिए:"grep" के बाद निर्देशिका में "cd" कैसे करें?

$ ls | grep 1670 | 

मुझे निर्देशिका haib12CJS1670 पाता है। मैं नीचे की तरह कुछ करने के लिए कोशिश कर रहा हूँ:

$ ls | grep 1670 | cd 

ताकि मेरे निर्देशिका एक ही चरण में haib12CJS1670 को तैयार है। जाहिर है मेरा रास्ता काम नहीं कर रहा है। कोई सुझाव? धन्यवाद

+4

आप 'का उपयोग कर grep' बजाय ग्लोबिंग होने के लिए एक अच्छा कारण है (यानी,' सीडी * 1670 * '?) – geoffspear

+0

के लिए महान टिप्पणी है मैं, क्योंकि मुझे यह भी नहीं पता था कि मैं ऐसा कर सकता हूं। – Supertech

उत्तर

8
cd `ls | grep 1670` 

अपने cd काम करने के लिए मिलना चाहिए (ध्यान दें, उन "बैक-टिक" कर रहे हैं)

एक वैकल्पिक दृष्टिकोण (कुछ को प्राथमिकता कहते हैं) $ प्रतिस्थापन उपयोग करने के लिए किया जाएगा। जैसे,

cd $(ls | grep 1670) 

हालांकि मैं इस tcsh के साथ काम करने नहीं मिल सकता है, यह ठीक bash साथ काम करता है।

पहले हल है खोल-अज्ञेयवाद :)

+0

वाह, आप * बिजली तेज * लेवॉन हैं। धन्यवाद! – Supertech