sed problem


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers sed problem
# 22  
Old 12-15-2005
You gotta be kidding me. This looks much simpler. Forget all the sed statements. Use this awk instead.

Code:
awk '{ print "\""$0"\\r\\n\"" }' tmp.txt

tmp.txt will be your original input file, with no formatting done on it.

Alternativley see this post - Changing Special Characters Using Sed. You might get something out of it.

Last edited by vino; 12-16-2005 at 01:01 AM..
# 23  
Old 12-18-2005
Hi Vino,

Thanks for your efforts, i will try all these solution and then will update accordingly.

Regards
Gauri
# 24  
Old 12-19-2005
Hi Vino,

Thanks a lot it is working. Could you plese let me know how to replace the string using awk. Actually the solution u provied is woking in all the files except one in which i need to replace \ with \\ .

Could u please let me know the difference bewteen awk and sed utitilty.

Thanks & Regards
Gauri Agrawal
# 25  
Old 12-19-2005
That awk solution was given to suit your original input file.

If you need awk to replace patterns, it is not a very easy solution( I think). Sed is much better at that.

To replace a \ with \\, this sed will do

Code:
sed -e 's_\\_\\\\_g'

For eg
Code:
[/tmp]$ echo "a\s\c" | awk -F\\'{ print $1"\\\\"$2"\\\\"$3 }'
a\\s\\c
[/tmp]$ echo "a\s\c" | sed -e 's_\\_\\\\_g'
a\\s\\c

As you can see, finding $1, $2 et al for awk doesnt work very well.

You should read that Oreilly link that was given. It gives a much better description of both the tools.

Cheers'

Last edited by vino; 12-19-2005 at 11:49 AM.. Reason: Changed / to \
# 26  
Old 12-20-2005
sed was not working , tahts why i thought that might be awk will work so i asked that if awk can work. Actually i am having a file which have the special charaters starting with \ so sed command doesnt work for them. soon i will post that file.

Regards
Gauri
# 27  
Old 12-21-2005
Hi Vino,

I am unable replace \ with \\ . This is again because of the special characters.

Here is the example for the lines i am finding it difficult:

*%EFILocal [invisible_yes:\x82\xcd\x82\xa2]^M
*%EFILocal [invisible_no:\x82\xa2\x82\xa2\x82\xa6]^M
^M
*%EFILocal [has disk raster?_yes:\x82\xcd\x82\xa2]^M
*%EFILocal [has disk raster?_no:\x82\xa2\x82\xa2\x82\xa6]^M
^M
static_attrs.ppd.japanes

i want to replace \x82 with \\x82. But nothing is working.

Could you please help me.

Thanks & Regards
Gauri
# 28  
Old 12-22-2005
If you want to carry out all operations in one sed command, it could become not so easy.

But the last sed command that was provided, sure works

Code:
[/tmp]$ cat file
*%EFILocal [invisible_yes:\x82\xcd\x82\xa2]^M
*%EFILocal [invisible_no:\x82\xa2\x82\xa2\x82\xa6]^M
*%EFILocal [has disk raster?_yes:\x82\xcd\x82\xa2]^M
*%EFILocal [has disk raster?_no:\x82\xa2\x82\xa2\x82\xa6]^M
[/tmp]$ sed -e 's_\\_\\\\_g' file
*%EFILocal [invisible_yes:\\x82\\xcd\\x82\\xa2]^M
*%EFILocal [invisible_no:\\x82\\xa2\\x82\\xa2\\x82\\xa6]^M
*%EFILocal [has disk raster?_yes:\\x82\\xcd\\x82\\xa2]^M
*%EFILocal [has disk raster?_no:\\x82\\xa2\\x82\\xa2\\x82\\xa6]^M
[/tmp]$

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed Or Grep Problem OR Terminal Problem?

I don't know if you guys get this problem sometimes at Terminal but I had been having this problem since yesterday :( Maybe I overdid the Terminal. Even the codes that used to work doesn't work anymore. Here is what 's happening: * I wanted to remove lines containing digits so I used this... (25 Replies)
Discussion started by: Nexeu
25 Replies

2. UNIX for Dummies Questions & Answers

sed problem

Hi Folks, I want to replace these numbers with words as the following: $echo 1 11 223 I want to replace each number with it name (e.g. "1" replaced with "one", etc.) just to determine how sed works in such case. Thanks in advance:). Leo (8 Replies)
Discussion started by: leo_ultra_leo
8 Replies

3. Shell Programming and Scripting

sed problem

Hi i am stuck with a very silly problem :mad: below is my code echo 201010_1212_121.xml i need to replace xml with csv so i did echo 201010_1212_121.xml | sed 's/.*\.xml/.*\.csv/' echo 201010_1212_121.xml | sed 's/*.xml/*.csv/' echo 201010_1212_121.xml |... (4 Replies)
Discussion started by: aishsimplesweet
4 Replies

4. Programming

sed problem

Hi all In input file I have records like this: 0,1,0,87,0,0,"6,87","170,03",0,"43,5",0,0,0,0,"6,87","126,53"and in output file I need that these records transforms in : 0 1 0 87 0 0 6,87 170,03 0 43,5 0 0 0 0 6,87 126,53 Could you help me in this case? Please (3 Replies)
Discussion started by: shizik
3 Replies

5. Shell Programming and Scripting

SED - Problem

I have a file with a lot of numbers in it and I need to clean it up and make it look nice and proper. I found this little gem of a one-liner and basically understand what it is doing but I would like to further understand what each part of the command is doing. Being a newb, I am just trying to... (2 Replies)
Discussion started by: genedc1
2 Replies

6. Shell Programming and Scripting

Sed Problem

I have a file which contain many lines see below. "/var/www/abc>" I want to remove Both of these values "" and > (5 Replies)
Discussion started by: aliahsan81
5 Replies

7. Shell Programming and Scripting

Problem in sed.

Hi All! I am trying to use shell variables in a sed statement, but facing an error.I used the double quotes instead if single quotes in the sed statement. # sed -i -e "s/password/$decoded/g;" $CATALINA_HOME/conf/server.xml sed: -e expression #1, char 11: unterminated `s' command # ... (5 Replies)
Discussion started by: nua7
5 Replies

8. Shell Programming and Scripting

Problem with SED

Hi, I have to use SED to remove the prefix "219-" from a text file containing phone numbers and I have to remove the ":" as well. I write the following code but it does not seem to work. Can someone help me please? mohit@mohit-desktop:~$ sed -n s/219-/" "/p corp_phones_bak > noprefix1... (2 Replies)
Discussion started by: mojoman
2 Replies

9. UNIX for Dummies Questions & Answers

Problem with sed

Hi , echo "07/05/2008" | sed 's/\(..\)\/\(..\)\/\(..\)/\3\2\1/' Output :: 20050708 Expected output is 20080507 Iam not getting the bug in this. Thanks for the help -- penchal (4 Replies)
Discussion started by: penchal_boddu
4 Replies

10. UNIX for Dummies Questions & Answers

Sed Problem

I AM TRYING TO APPEND THE HOSTNAME OF A UNIX SERVER I WORK WITH SO I COULD DO A LOADING INTO A DATABASE. THE COMMAND I AM USING IS df -k | sed 's/^/dataserver /' What I intend to do is append the hostname dynamically by using the hostname command instead of having to manually enter... (1 Reply)
Discussion started by: Chelsea
1 Replies
Login or Register to Ask a Question