sed problem


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers sed problem
# 15  
Old 12-13-2005
Until threadstarter provides us with details here is my suspicion:

"Xe8" or so are not really sequences of characters, but some weird control character. perhaps it would be easiest for him to open the file in question in a vi, issue ":set list" and then look again at the characters in question.

Another way would be to "cat /file/in/question | od -ax | more" and see how it looks there.

Regarding the regexp: I'm sure your solution will work, but couldn't it be further reduced to:

sed 's/.*/"&\\r\\n"/'

bakunin
# 16  
Old 12-14-2005
Hi Vino,

Sorry for late reply,,,here are few lines i am sending which are in problem:

file abc:
*%EFILocal [invisible_yes:S\x92]
*%EFILocal [logical printer:impresora l\x97gica]

so output lines are as :
file xyz
"*%EFILocal [invisible_yes:S"\x92"]"
"*%EFILocal [logical printer:impresora l"\x97"gica]"

But when i cat on abs it does not show x92 or x97. I guess these are special charter in spanish language

So can u please help me now?


Thanks & Regards
Gauri
# 17  
Old 12-14-2005
See this the line i have echoed and the put in a file gauri

$echo "*%EFILocal [print status:Estado de impresi\x97n]"
*%EFILocal [print status:Estado de impresi\x97n]

so when i cat on it it gives me the following:

$cat gauri
*%EFILocal [print status:Estado de impresin]

As u sugessted i have run the command and here is the out put but i can not make out anything from that.

$ cat gauri | od -ax
0000000 * % E F I L o c a l sp [ p r i n
252a 4645 4c49 636f 6c61 5b20 7270 6e69
0000020 t sp s t a t u s : E s t a d o sp
2074 7473 7461 7375 453a 7473 6461 206f
0000040 d e sp i m p r e s i etb n ] nl
6564 6920 706d 6572 6973 6e97 0a5d
0000056


Regards
Gauri
# 18  
Old 12-14-2005
hi Vino,

What i guess if i am able to escape these character some how then my problem might get reolved but i dont know how to escape these characters.

I am having many text files for different langauges like spanish, german etc. Every where i am facing the same problem.

Regard,
Gauri
# 19  
Old 12-15-2005
I dont think this should make a difference. But give it a try.

Code:
sed -e 's_^\(.*\)$_\"\1\\r\\n\"_g' xyz

# 20  
Old 12-15-2005
What are trying to make out of the document ? What format is it ?

Here is a workaround for those special lines.

You need to run this sed statement after the initial sed statement.

Code:
[/tmp]$ cat tmp.txt
"*%EFILocal [invisible_yes:S"\x92"]"
"*%EFILocal [logical printer:impresora l"\x97"gica]"
[tmp]$ sed -e 's_^\(.*\)"\(\\.*[^"]\)"\(.*"\)$_\1\2\3_' tmp.txt 
"*%EFILocal [invisible_yes:S\x92]"
"*%EFILocal [logical printer:impresora l\x97gica]"
[/tmp]$

If you need it in one sed statement it would look like this

Code:
sed -e 's_^\(.*\)$_\"\1\\r\\n\"_g' -e 's_^\(.*\)"\(\\.*[^"]\)"\(.*"\)$_\1\2\3_g' xyz

# 21  
Old 12-15-2005
Or an awk statement can do something similiar.

Looks easier to understand.

Code:
[/tmp]$ cat tmp.txt
"*%EFILocal [invisible_yes:S\x92]"
"*%EFILocal [invisible_yes:S"\x92"]"
"*%EFILocal [logical printer:impresora l"\x97"gica]"
[/tmp]$ awk -F\" '{if(NF==3) print $0; else print "\""$2$3$4$5$6"\"" }' tmp.txt
"*%EFILocal [invisible_yes:S\x92]"
"*%EFILocal [invisible_yes:S\x92]"
"*%EFILocal [logical printer:impresora l\x97gica]"
[/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