How to grep for a non-standard ASCII character?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to grep for a non-standard ASCII character?
# 1  
Old 09-07-2011
How to grep for a non-standard ASCII character?

A very simple question but I have scoured the web and can't find an answer. How do I search for a character by ASCII code in a regular expression using grep?

For example, we use the End of Medium symbol as a delimiter in certain files. (this is ascii 031 in oct, displays as ^Y) I want to grep for CAT surrounded by this symbol. (displayed it looks like ^YCAT^Y) I've tried everything and can't find a way that works.

Thanks.
# 2  
Old 09-07-2011
To enter a control character, type Ctrl-V followed by the control character you need (Ctrl-Y in this case):

Code:
$ grep '^YCAT^Y' testfile
CAT
$

You can't see the control characters in the output, but they are there (proving this by replacing them with a "X"):
Code:
$ grep '^YCAT^Y' testfile
CAT
$ grep '^YCAT^Y' testfile|sed 's/^Y/X/g'
XCATX
$


Last edited by gary_w; 09-07-2011 at 11:51 AM..
This User Gave Thanks to gary_w For This Post:
# 3  
Old 09-07-2011
Or use bash/ksh/zsh string literals:
Code:
grep $'\C-YCAT\C-Y'

# 4  
Old 09-07-2011
FYI
Wikipedia has a good ASCII chart that shows octal, decimal, hex and control character representations (scroll down a little):
https://secure.wikimedia.org/wikipedia/en/wiki/ASCII

---------- Post updated at 12:13 PM ---------- Previous update was at 12:11 PM ----------

Quote:
Originally Posted by yazu
Or use bash/ksh/zsh string literals:
Code:
grep $'\C-YCAT\C-Y'

I'm afraid that produced no output on our Solaris box using ksh. Am I missing something?
# 5  
Old 09-08-2011
Try...
Code:
grep $(printf "\031CAT\031") file1

# 6  
Old 09-08-2011
Code:
I'm afraid that produced no output on our Solaris box using ksh. Am I missing something?

Too many ksh-es. It works fine with ksh93t+ in my linux box.
# 7  
Old 09-08-2011
Alternatively, you can "grep" with AWK, whose regular expression flavor supports octal escape sequences:
Code:
awk '/\031CAT\031/' file

Regards,
Alister
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

What is ASCII character?

Hi Guru, I have put one post yesterday and get answer. thanks for your help. my question today is: what is ascii character for following non printable characters: ( we need filter these characters out in another process) ^MM-^E^MM-^E. Old post link: ... (5 Replies)
Discussion started by: ken002
5 Replies

2. Shell Programming and Scripting

Remove some special ascii character

Hello I have this special caracter after retreving rows from sql server: "....spasses: • Entrem al valort 6050108002811 • El donem..." I would like a sed command to remove it..or just know it's ascii code in order to replace it into my sql sentence.. Hope some one knows how to do that.... (7 Replies)
Discussion started by: ldiaz2106
7 Replies

3. Shell Programming and Scripting

Print the next ASCII character

Hi, In my file, for few field I have to print the next ASCII character for every character. In the below file, I have to do for the 2,3 and 5th fields. Input File ======== 1|abc|def|5|ghi 2|jkl|mno|6|pqr Expected Ouput file ======= 1|bcd|efg|5|hij 2|klm|nop|6|qrs (2 Replies)
Discussion started by: machomaddy
2 Replies

4. Shell Programming and Scripting

FTP Issue with Non ascii character

I have one file .dat file on windows server containg the following text "Bürki" Now When I am using FTP (get) command from UNIX server the text is appering is as "Bürki" I want to preserve the text in the file on UNIX server as it is in source file. Could you please suggest some... (2 Replies)
Discussion started by: Bhushan D
2 Replies

5. UNIX for Advanced & Expert Users

ASCII Character Set

I thought I would point this out. This has a lot of the non printing characters. ASCII Character Set (7 Replies)
Discussion started by: cokedude
7 Replies

6. UNIX for Dummies Questions & Answers

global search and replacement of a non-ascii character

Hi, I need to do a global search and replacement of a non-ascii character. Let me first give the background of my problem. Very frequently, I need to copy set of references from different sources. Typically, a reference would like this: Banumathy et al., 2002 G. Banumathy, V. Singh and U.... (1 Reply)
Discussion started by: effjay
1 Replies

7. Shell Programming and Scripting

read in a file character by character - replace any unknown ASCII characters with spa

Can someone help me to write a script / command to read in a file, character by character, replace any unknown ASCII characters with space. then write out the file to a new filename/ Thanks! (1 Reply)
Discussion started by: raghav525
1 Replies

8. UNIX for Dummies Questions & Answers

Ascii value of character?

Is there a way to determine the ascii value of a character? For example, let's say a shell variable has the value 'A'. I would like it's ascii value (e.g. 65 in this case). I would like to do this from a script (preferably ksh). (12 Replies)
Discussion started by: sszd
12 Replies

9. UNIX for Dummies Questions & Answers

Non-ascii character detection (perl or grep)

Hi, Can I know how to grep for lines with non-ascii characters in a file? If not grep, at least can we do it with command-line perl or awk? I tried the functionality of perl, but still could not get the result. Any help?? PS: I was sure that someone should have asked this question... (9 Replies)
Discussion started by: srinivasan_85
9 Replies

10. UNIX for Dummies Questions & Answers

ASCII character to accept logon password

Hey all, Just found your forum...Looks super rich with info! Can't wait to get through it all. I am currently writing a web app in .net that telnets into a unix server (require uid + passwd), runs a command, and returns that output to be displayed on the web page. I have gotten through the... (8 Replies)
Discussion started by: gord
8 Replies
Login or Register to Ask a Question