The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Can i read a file character by character karnan Shell Programming and Scripting 6 05-18-2008 11:22 PM
Can I read a file character by character? murtaza Shell Programming and Scripting 3 03-29-2007 08:19 AM
create control file in UNIX alfredo123 UNIX for Dummies Questions & Answers 5 06-06-2006 08:24 AM
Disable printing control file cpuhl UNIX for Advanced & Expert Users 1 06-01-2005 01:19 PM
Control saving file by type saswerks UNIX for Dummies Questions & Answers 4 02-15-2005 12:47 PM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 04-25-2007
Registered User
 

Join Date: Apr 2007
Posts: 6
Stumble this Post!
Control character in a file

Hi All,

I am looking for a solution to capture any ASCII control character in a file
( where the ASCII control character is in decimal value from 0 to 31 and 127
( Hex value from 00 to 1F and 7F ) ) by returning any affected lines.

The intended good file should contain "ASCII printable character" where ASCII
printable character is in decimal value from 32 to 126 ( Hex value from 20 to
7E ).

Thanks in advance.

Best regards,
cursive
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 04-25-2007
Registered User
 

Join Date: Mar 2006
Location: Bangalore,India
Posts: 1,397
Stumble this Post!
Removes ASCII control characters from 0 to 31 and 127
Code:
tr -d "\000-\037\177" < file
Code:
while read line 
do
       [[ -n "$( echo $line | tr -d "\000-\037\177" )" ]] && echo "$line"
done < file

Last edited by anbu23; 04-25-2007 at 02:33 AM. Reason: Not read requirement properly
Reply With Quote
  #3 (permalink)  
Old 04-25-2007
Registered User
 

Join Date: Sep 2006
Posts: 1,542
Stumble this Post!
you may also want to try awk's POSIX character classes like [:print:],[:graph:] etc...
Reply With Quote
  #4 (permalink)  
Old 04-25-2007
Registered User
 

Join Date: Apr 2007
Posts: 6
Stumble this Post!
Hi Anbu23,

I am not sure if I missing something here by using the given solution :
tr -d "\000-\037\177" < file because the output is still contained the control
character.

Provided a sample of the input file :
-------------------------------------------------
Monday Tuesday Wednesday
Thursday Friday
Saturday 
Sunday
Number = 0.36")· )

Apple orange
Pinapple


Output file ( display lines with control character ):
---------------
>Monday Tuesday Wednesday
>Saturday 
>Number = 0.36")· )
>Apple orange
>


Thanks in advance,
cursive
Reply With Quote
  #5 (permalink)  
Old 04-25-2007
Registered User
 

Join Date: Mar 2006
Location: Bangalore,India
Posts: 1,397
Stumble this Post!
Code:
/db2home/training$ cat -e f
Monday Tuesday Wednesday$
Thursday Friday$
Saturday ^F$
Sunday$
Number = 0.36")· )$
$
Apple orange $
Pinapple$
^G$
/db2home/training$ tr -d "\000-\011\013-\037\177-\377" < f | cat -e
Monday Tuesday Wednesday$
Thursday Friday$
Saturday $
Sunday$
Number = 0.36") )$
$
Apple orange $
Pinapple$
$
Reply With Quote
  #6 (permalink)  
Old 04-25-2007
Registered User
 

Join Date: Apr 2007
Posts: 6
Stumble this Post!
Hi anbu23,

Thanks for the solution and it work perfectly.

Best regards,
cursive
Reply With Quote
Google The UNIX and Linux Forums
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 11:01 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0