replacement for cut --output-delimiter
17,451
Solution 1
What about using tr
for this?
$ tr ',' '\n' <<< "$var"
hi
hello how
are you
doing
or
$ echo $var | tr ',' '\n'
hi
hello how
are you
doing
With sed:
$ sed 's/,/\n/g' <<< "$var"
hi
hello how
are you
doing
Or with awk:
$ awk '1' RS=, <<< "$var"
hi
hello how
are you
doing
Solution 2
Perhaps do it in bash 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
Author by
Marcos
I'm new to scripting (shell / batch) and I'm Loving it ! PS: I'm a computer geek and Vid game Freak!
Updated on July 25, 2022Comments
-
Marcos almost 2 years
I created a script that was using
cut -d',' -f- --output-delimiter=$'\n'
to add a newline for each command separated value in RHEL 5, for e.g.
[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
But unfortunately when I run the same command in Solaris 10, it doesn't work at all :( !
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]
I checked the man page for 'cut' and alas there is no ' --output-delimiter ' in there !
So how do I achieve this in Solaris 10 (bash)? I guess awk would be a solution, but I'm unable to frame up the options properly.
Note: The comma separated variables might have " " space in them.
-
Marcos over 10 yearsSomehow I'm feeling like a BIG DUMBO!!! I never thought of using 'tr' or 'sed'...pfffttt..... Thanks a lot for the answer!
-
Marcos over 10 years'sed' didn't work, bash-3.00# echo $var|sed -e 's/,/\n/g' hinhello hownare youndoing but 'tr' worked!
-
Marcos over 10 yearsthanks for the answer, but I would prefer something smaller also I would like not to use an array for this.
-
fedorqui over 10 yearsUhms I don't have a Solaris server to test, but maybe in stackoverflow.com/questions/8991275/… you can find some clues. And good to read
tr
was fine for you :)