मैं Windows में इस कमांड लाइन इनपुट:रूबी के साथ कमांड लाइन करते समय मैं वर्टिकल बार से कैसे बच सकता हूं?
dir /b | ruby -ne 'f=$_.chomp;File.read(f).each_line{|line| print f if line =~ /helloworld/};'
यह पंक्ति उस में helloworld
के साथ वर्तमान निर्देशिका के अंतर्गत सभी फ़ाइलों को मिल रहा है। (मैं समझता हूँ वहाँ यह करने के लिए कई अन्य तरीके हैं लेकिन पोस्ट कि पर ध्यान केंद्रित नहीं है)
मेरा प्रश्न है:
इस लाइन त्रुटि line is not a valid command
कह देता है। तब मुझे रूबी में |
एहसास हुआ कि ब्लॉक वैरिएबल के लिए एक ब्रेस के रूप में cmd में एक पाइप साइन है। मैंने पूरी लाइन को डबल उद्धृत में बदलने की कोशिश की और | साइन लेकिन कोई सफलता नहीं। मैं ऊर्ध्वाधर बार से कैसे बच सकता हूं?
कृपया कार्य करने के अन्य तरीकों का उत्तर न दें जैसे कि grep, find, sed या awk जैसे अन्य टूल का उपयोग करना, या ब्लॉक को लूप में बदलना।
यह वास्तव में काम करता है! मैंने कोशिश की, लेकिन केवल कोशिश की | \ N से बच निकले लेकिन कुछ भी बचने के बिना कोशिश नहीं की, और यह आश्चर्यजनक रूप से अच्छा साबित हुआ। – texasbruce
@texasbruce इसे सुनकर खुशी हुई। यह प्रोग्रामिंग की वास्तविकताओं में से एक है - आपको ओएस के कामकाज का एक अच्छा सौदा भी समझना होगा। अगर मेरे जवाब ने आपकी समस्या हल की है, तो कृपया स्वीकार करने पर विचार करें। – Kelvin