SED programming

Hi Folks,

I have one file which contains the data like below.

gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%

I want to replace % to the Line feed. I mean the result should be like below.

gggsdvrwdtydjnnc
vhdskl;jf;whjfuyijfnv,m
jkgsjkfsjkjdlkl
gjksdhfljkfjkj

Can anyone help me how to do this using SED in IBM AIX?

Thanks a lot!!!!

$ echo "gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%" | ruby -pe 'gsub("%","\n")'

Hi

I am using AIX Version 5.2 ML5.

Ruby is not working in this version.

/download/pradeesh>echo "gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%" | ruby -pe 'gsub("%","\n")'
ksh: ruby:  not found.

---------- Post updated at 11:07 PM ---------- Previous update was at 10:56 PM ----------

I found a new way to do this

/download/pradeesh>echo "gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%" | tr '%' '\n'
gggsdvrwdtydjnnc
vhdskl;jf;whjfuyijfnv,m
jkgsjkfsjkjdlkl
gjksdhfljkfjkj

But I would like to know how to do this using SED. Can anyone help me??

echo "gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%" | sed 's/\%/\n/g'

Try this...:slight_smile:

output:

gggsdvrwdtydjnnc
vhdskl;jf;whjfuyijfnv,m
jkgsjkfsjkjdlkl
gjksdhfljkfjkj

Hi Kesavan.

thanks for your reply but this is not working

Please check the below output. this is replacing % to n

apdma501:/dwfs/download/pradeesh>echo "gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%" | sed 's/\%/\n/g'
gggsdvrwdtydjnncnvhdskl;jf;whjfuyijfnv,mnjkgsjkfsjkjdlklngjksdhfljkfjkjn

try giving

 echo  "gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%"  | sed 's/\%/\\n/g'

:slight_smile:

Tried all possibilities but its not working.. :frowning:

i don't know much about aix, give it a try

echo  "gggsdvrwdtydjnnc%vhdskl;jf;whjfuyijfnv,m%jkgsjkfsjkjdlkl%gjksdhfljkfjkj%"  | sed 's/\%/\\/g'

:slight_smile:

$ echo 'asdad%sdasd%sdsdf' | sed 's/%/ \
> /g'
asdad
sdasd
sdsdf
1 Like

Cool its working but can we do it with out giving enter?
I mean in a single statement using \n or something else

Anyway Thank u so much!!
[output]
/download/pradeesh>echo 'asdad%sdasd%sdsdf' | sed 's/%/ \
> /g'
asdad
sdasd
sdsdf
[/output]

No, it won't work. sed doesn't support escape sequences in replacements.

echo 'asdad%sdasd%sdsdf' | sed 'y/%/\n/'
asdad
sdasd
sdsdf

Its working. Thank you so much