मेरे पास एक पाठ फ़ाइल है जो इस प्रकार है:
Jose Santiago:385-898-8357:385-555-5555:38 Fife Way, Abilene, TX 39673:1/5/58:95600
Tommy Savage:408-724-0140:408-777-0121:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200
Yukio Takeshida:387-827-1095:387-888-1198:13 Uno Lane, Ashville, NC 23556:7/1/29:57000
Vinh Tranh:438-910-7449:438-999-0000:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900
मैं एक tshsh स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो पढ़ेगीटेक्स्ट फ़ाइल और प्रत्येक कोलोन सीमांकित क्षेत्र को नाम के अपवाद के साथ एक चर में असाइन करें, जिसे मैं दो अलग-अलग चर में सेट करना चाहता हूं। मैंने कई चीजों की कोशिश की है, लेकिन "टी इस काम के लिए मिल सकता है। मुझे माफ करना, लेकिन मैं एक नौसिखिया हूँ। किसी भी मदद के लिए अग्रिम धन्यवाद।
उत्तर:
जवाब के लिए 0 № 1नाम चर को हमेशा एक स्थान से अलग करने वाले केवल दो शब्द होंगे, आप पहले उस स्थान को एक से बदल सकते हैं :
और फिर फ़ील्ड को चर में लाने के लिए कट का उपयोग करें:
sed "s/ /:/" <filename >new_file
set var1 = `cut -f1 -d ":" new_file`
set var2 = `cut -f2 -d ":" new_file`
set var3 = `cut -f3 -d ":" new_file`
आदि ... आपकी फ़ाइल में प्रत्येक फ़ील्ड के लिए
पुनश्च: यदि आप अपनी मूल फ़ाइल को फिर से लिखना नहीं चाहते हैं, तो आप इनलाइन को बदल सकते हैं:
set -i.bak "s/ /:/" filename