मैं ऐसा करने में सक्षम होने के लिए एक स्ट्रिंग में एक स्पेस ( ) को
.
बैश में एक स्ट्रिंग ( ) के साथ बदलने की आवश्यकता है ।
मुझे लगता है कि यह बहुत सरल होगा, लेकिन मैं नया हूं इसलिए मैं यह नहीं जान सकता कि इस उपयोग के लिए एक समान उदाहरण को कैसे संशोधित किया जाए।
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 बार)।