J
John K. Humkey
Ok, it's sed not perl, but it's primarily a regexp question that I've
encountered (and failed to understand) before. . .
#
# When trying to convert a variable number
# of spaces separating fields, to fields
# separated by single commas, if your "input"
# file looks like the following lines. . .
#
#alpha bravo charlie delta echo fox
#alpha bravo charlie delta echo fox
#alpha bravo charlie delta echo fox
#
# and your're trying to convert it to the following. . .
#
#alpha,bravo,charlie,delta,echo,fox
#alpha,bravo,charlie,delta,echo,fox
#alpha,bravo,charlie,delta,echo,fox
#
# Why don't any of the next 5 lines work?
cat input | sed -e "s/ +/,/g"
cat input | sed -e "s/ */,/g"
cat input | sed -e "s/ {1,10}/,/g"
cat input | sed -e "s/[ ]*/,/g"
cat input | sed -e "s/[ ]+/,/g"
#
# Because the above 5 lines all look like
# valid methods of substituting one comma
# for one or more spaces.
#
# And yet, the next line DOES work.
cat input | sed -e "s/[ ] */,/g"
#
I've also tried the g/before/s//after/g type lines with even less success.
Thoughts?
jkh
encountered (and failed to understand) before. . .
#
# When trying to convert a variable number
# of spaces separating fields, to fields
# separated by single commas, if your "input"
# file looks like the following lines. . .
#
#alpha bravo charlie delta echo fox
#alpha bravo charlie delta echo fox
#alpha bravo charlie delta echo fox
#
# and your're trying to convert it to the following. . .
#
#alpha,bravo,charlie,delta,echo,fox
#alpha,bravo,charlie,delta,echo,fox
#alpha,bravo,charlie,delta,echo,fox
#
# Why don't any of the next 5 lines work?
cat input | sed -e "s/ +/,/g"
cat input | sed -e "s/ */,/g"
cat input | sed -e "s/ {1,10}/,/g"
cat input | sed -e "s/[ ]*/,/g"
cat input | sed -e "s/[ ]+/,/g"
#
# Because the above 5 lines all look like
# valid methods of substituting one comma
# for one or more spaces.
#
# And yet, the next line DOES work.
cat input | sed -e "s/[ ] */,/g"
#
I've also tried the g/before/s//after/g type lines with even less success.
Thoughts?
jkh