कट-आउटपुट-डेलीमीटर के लिए प्रतिस्थापन

मैंने एक स्क्रिप्ट बनाई जो उपयोग कर रहा था

cut -d',' -f- --output-delimiter=$'\n'

आरएचईएल 5 में प्रत्येक कमांड से अलग मूल्य के लिए एक नई लाइन जोड़ने के लिए, उदाहरण के लिए

[root]# var="hi,hello how,are you,doing"
[root]# echo $var
hi,hello how,are you,doing
[root]# echo $var|cut -d',' -f- --output-delimiter=$'\n'
hi
hello how
are you
doing

लेकिन दुर्भाग्यवश जब मैं सोलारिस 10 में एक ही कमांड चलाता हूं, तो यह बिल्कुल काम नहीं करता है :(!

bash-3.00# var="hi,hello how,are you,doing"
bash-3.00# echo $var
hi,hello how,are you,doing
bash-3.00# echo $var|cut -d',' -f- --output-delimiter=$'\n'
cut: illegal option -- output-delimiter=

usage: cut -b list [-n] [filename ...]
       cut -c list [filename ...]
       cut -f list [-d delim] [-s] [filename]

मैंने 'कट' के लिए मैन पेज की जांच की और हां वहां कोई 'आउटपुट-डिलीमीटर' नहीं है!

तो मैं इसे Solaris 10 (बैश) में कैसे प्राप्त करूं? मुझे लगता है कि एक समाधान होगा, लेकिन मैं विकल्पों को ठीक से फ्रेम करने में असमर्थ हूं।

नोट: अल्पविराम से अलग चर में "" स्थान हो सकता है।

0
यदि आप आरएचईएल पर एक ही कट कमांड चाहते हैं, तो GNU coreutils पैकेज इंस्टॉल करें।
जोड़ा लेखक alanc, स्रोत

2 उत्तर

Perhaps do it in itself?

var="hi,hello how,are you,doing"
printf "$var" | (IFS=, read -r -a arr; printf "%s\n" "${arr[@]}")
hi
hello how
are you
doing
0
जोड़ा
उत्तर के लिए धन्यवाद, लेकिन मैं कुछ छोटा भी पसंद करूंगा, मैं इसके लिए एक सरणी का उपयोग नहीं करना चाहूंगा।
जोड़ा लेखक Marcos, स्रोत

इसके लिए tr का उपयोग करने के बारे में क्या?

$ tr ',' '\n' <<< "$var"
hi
hello how
are you
doing

या

$ echo $var | tr ',' '\n'
hi
hello how
are you
doing

With :

$ sed 's/,/\n/g' <<< "$var"
hi
hello how
are you
doing

या with :

$ awk '1' RS=, <<< "$var"
hi
hello how
are you
doing
0
जोड़ा
किसी भी तरह से मैं एक बड़ा डंबो की तरह महसूस कर रहा हूँ !!! मैंने कभी भी 'tr' या 'sed' का उपयोग करने के बारे में सोचा नहीं ... pfffttt ..... उत्तर के लिए बहुत बहुत धन्यवाद!
जोड़ा लेखक Marcos, स्रोत
'sed' काम नहीं किया, bash-3.00 # echo $ var | sed -e's /,/\ n/g 'hinhello hownare youndoing लेकिन' tr 'काम किया!
जोड़ा लेखक Marcos, स्रोत
उहम्स मेरे पास परीक्षण करने के लिए सोलारिस सर्वर नहीं है, लेकिन हो सकता है कि stackoverflow.com/questions/8991275/… आप कुछ सुराग पा सकते हैं। और पढ़ने के लिए अच्छा tr आपके लिए ठीक था :)
जोड़ा लेखक fedorqui, स्रोत