मैं ऐसा करने में सक्षम होने के लिए एक स्ट्रिंग में एक स्पेस ( ) को .बैश में एक स्ट्रिंग ( ) के साथ बदलने की आवश्यकता है ।
मुझे लगता है कि यह बहुत सरल होगा, लेकिन मैं नया हूं इसलिए मैं यह नहीं जान सकता कि इस उपयोग के लिए एक समान उदाहरण को कैसे संशोधित किया जाए।
trलंबे स्ट्रिंग्स के लिए पसंद कर सकता है । मेरे सिस्टम परtrआउटपरफॉर्मर1000पात्रों से अधिक स्ट्रिंग्स के साथ शुरू होने वाले बैश हैं । ऐसा लगता है जैसे बैश का समय जटिलता रैखिक से भी बदतर है। एक छोटी सी परीक्षण:x="$(tr -dc 'a-z \n' </dev/urandom | head -c1M)"; time y="$(tr ' ' \\- <<< "$x")"; time z="${x// /-}"। 1M की एक स्ट्रिंग की लंबाई के साथ (= 2 ^ 20)trले लिया0.04sऔर बैश 5.0.11 ले लिया17s। 2 एम के साथtrले लिया0.07s(उम्मीद), लेकिन पार्टी में ले लिया69s(दो बार स्ट्रिंग की लंबाई के लिए लंबे समय के रूप में 4 बार)।