hexadecimal replacing with awk ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting hexadecimal replacing with awk ?
# 1  
Old 05-17-2010
hexadecimal replacing with awk ?

Hi there !

I have text files with some nonsense characters in it, so different text editors put different nonsense symbols, and, worse, the application that should be able to read these files doesn't.

With xxd, the nonsense characters show as "efbfbd", while they should be "c2a7" (the 'paragraph character', §).

E.g., this is a line of xxd output containing the weird character :
Code:
0000260: 3433 3036 312c efbf bd28 2244 4941 4e54  43061,...("DIANT

Now, is there a way to change the "efbfbd" into "c2a7" ? Preferably with awk, since that's what I'm using to treat these files with for other purposes.

Thanks !
jos
# 2  
Old 05-17-2010
With AWK (GNU version, not sure for other flavours) :
Code:
$ xxd ascii.txt
0000000: 3433 3036 312c efbf bd28 2244 4941 4e54  43061,...("DIANT
$ awk '{ gsub(/\xef\xbf\xbd/, "\xc2\xa7") ; print }' ascii.txt > new.txt
$ cat new.txt
43061,§("DIANT
$ xxd new.txt
0000000: 3433 3036 312c c2a7 2822 4449 414e 540a  43061,..("DIANT.
$

Jean-Pierre.
This User Gave Thanks to aigles For This Post:
# 3  
Old 05-17-2010
Merci beaucoup Jean-Pierre !

My gawk-guide wasn't specific enough ... it suggested "0x" instead of "\x", but I guess that's only for hexadecimal to decimal conversions, not for manipulating ascii.

jos
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk for replacing line feed

Hello all, I have data like "1"|"My_name"|"My_Email"|"My_Last"|My_other" "2"|"My_name"|"My_Email"|"My_Last"|My_other" "3"|"My_name"|"My_Email"|" "|My_other" "1"|"My_name"|"My_Email"|"My_Last"|My_other" Need output like "1"|"My_name"|"My_Email"|"My_Last"|My_other"... (10 Replies)
Discussion started by: lokaish23
10 Replies

2. Shell Programming and Scripting

Replacing grep with awk

how to replace grep with awk commands. i have a code like: grep -w $student $markfile|$subjectid can similar code be written by replacing grep with awk. Thanks in advance, regards, giri (6 Replies)
Discussion started by: girijan
6 Replies

3. UNIX for Dummies Questions & Answers

Replacing string with awk

I am trying to replace javascript:top.showarticle('geo',1985,'with ../../abstracts/geo1985/I am using awk but getting an error awk -v s="javascript:top.showarticle('geo',1985,'" -v d="../../abstracts/geo1985/" '{gsub(s,d); print} ' geo50n12.html > geo50n12.html.tmp Fixed it using ... (3 Replies)
Discussion started by: kristinu
3 Replies

4. UNIX for Dummies Questions & Answers

Replacing grep with awk

This may be a repetitive or simple question, but I have a long running code, which uses a grep with a big argument, and i was wondering if there was a way to replace all of my greps with awk....here are my two commands using greps. x=$(ls /my/directory/here | grep -h ".$variable") and ... (1 Reply)
Discussion started by: jgrosecl
1 Replies

5. Shell Programming and Scripting

Replacing / with a space using awk

I have a string and want to replace the / with a space. For example having "SP/FS/RP" I want to get "SP FS RP" However I am having problems using gsub set phases = `echo $Aphases | awk '{gsub(///," ")}; {print}'` (5 Replies)
Discussion started by: kristinu
5 Replies

6. Shell Programming and Scripting

Replacing lines between two files with awk

Hello Masters, I have two subtitles file with different language like below First file : 1 00:00:41,136 --> 00:00:43,900 2 00:00:55,383 --> 00:00:58,477 <i> Ladies and gentlemen,</i> <i>this is Simon Barsinister,</i> 3 00:00:58,553 --> 00:01:00,521 <i>the wickedest man in the... (8 Replies)
Discussion started by: rk4k
8 Replies

7. Shell Programming and Scripting

replacing characters with awk

Hi there! I'm new in this and probably is a quite simple task but I still cannot manage to do it: I have to read some files line by line and then change the input format into another one, but the very first step is to replace the empty variables by error values. I mean, each line looks like:... (2 Replies)
Discussion started by: thoreman
2 Replies

8. Shell Programming and Scripting

awk script for replacing 2 strings

Hi I have written a script for automating a program. There is a string in 2 lines that needs altering from input. The 2 lines are: prepare_flexreceptor4.py -r rec_rigid.pdbqt -s TYR119_TRP312 -x rec_flex.pdbqt and prepare_flexdocking4.py -l ind.pdbqt -r rec_flex.pdbqt -s TYR119_TRP312... (3 Replies)
Discussion started by: gav2251
3 Replies

9. Shell Programming and Scripting

Specifying and replacing fields with awk

#cat BATCH007.TXT 01,661060052,061000104,081118,0915,07,80,1,2/ 99,,,2/ I have this file called BATCH007.TXT. I am trying to change fields 2 and 3 on line 2 to have zeroes. Like this: 01,661060052,061000104,081118,0915,07,80,1,2/ 99,0,0,2/ I can use these commands to print identify the... (2 Replies)
Discussion started by: ddurden7
2 Replies

10. Shell Programming and Scripting

Get Hexadecimal Value

I have a record in a file that ends with the new line character "\n". How dio I determine the hexadecimal value for that? (2 Replies)
Discussion started by: lesstjm
2 Replies
Login or Register to Ask a Question