The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

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
Removing certain characters in a file bombcan Shell Programming and Scripting 2 04-25-2008 03:53 PM
Replacing characters in csv file finwhiz UNIX for Dummies Questions & Answers 1 03-31-2008 05:25 AM
Invalid Characters in the file. kanu_pathak Shell Programming and Scripting 5 02-01-2008 09:45 AM
how to see special characters in a file using vi jingi1234 UNIX for Dummies Questions & Answers 6 10-19-2005 11:57 AM
grepping the first 3 characters from a file rachael UNIX for Dummies Questions & Answers 2 10-15-2001 02:33 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-31-2008
kanu_pathak kanu_pathak is offline
Registered User
  
 

Join Date: Jan 2008
Location: India
Posts: 34
Invalid Characters in the file.

I am working on AIX. We ftp files to a database. The flat files are having thousands of records and each record is having some 50 to 60 characters(there are fields having certain character length). In addition to some valid ascii characters some invalid characters like Å, å, Ä, ä or pipes creep in which datawarehouse rejects to load in.
Example: AcuM-^?a 051706 ;
above is a field in the record which is having special characters like -,^ and ? , which should not have been there.

The record separator is a new line and there is no field seperator.

How can I remove these invalid or special characters to creep in the records?
Please help me to find the logic in the shell sripting..
  #2 (permalink)  
Old 01-31-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
Code:
$ echo "invalid characters like Å, å, Ä, ä or"
invalid characters like Å, å, Ä, ä or
$ echo "invalid characters like Å, å, Ä, ä or"| tr -dc " a-zA-Z0-9,\n"
invalid characters like , , ,  or
$
  #3 (permalink)  
Old 01-31-2008
kanu_pathak kanu_pathak is offline
Registered User
  
 

Join Date: Jan 2008
Location: India
Posts: 34
Thanks for the reply Perderabo. There are some more doubts;

=>There can be lots more invalid character like these, so shall I give all them in the 'like' command?

=>If I want to replace the 'invalid character' with a 'space' how can I do that?

=>How to run whole process for thousands of records in the file?

Attached is an example in this regard...
Attached Files
File Type: txt Example.txt (1.4 KB, 37 views)
  #4 (permalink)  
Old 01-31-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
The
echo "invalid characters like Å, å, Ä, ä or"
is providing the input data with illegal characters that need removal. I need some test data and this is one way to demo a command. And the command I am showing is
tr -dc " a-zA-Z0-9,\n"
and that is what removes the garbage. The tr command, in this form, lists the valid characters, not the invalid ones. You may need to add stuff to the list. To replace invalid characters with a space use
Code:
$ echo "invalid characters like Å, å, Ä, ä or"| tr -c ' a-zA-Z0-9,\n'  ' '
invalid characters like  ,  ,  ,   or
$
I have switched to single quotes which may be better if you need certain special characters to be accepted. In your case you may want to just do
Code:
tr -c ' a-zA-Z0-9,\n'  ' ' < inputfile > outputfile
Read the tr man page for more info.
  #5 (permalink)  
Old 02-01-2008
kanu_pathak kanu_pathak is offline
Registered User
  
 

Join Date: Jan 2008
Location: India
Posts: 34
Question

I used the translate commands as follows:


1) tr -c ' a-zA-Z0-9,\n' ' ' < inputfile > outputfile ==> No result

2) tr -c '[:print:][:cntrl:]' ' ' < inputfile > outputfile ==>

The second command replaced one of the invalid character with space but retained all others. When I again ran the command on the resulted file, the complete files.(input as well as output.)

Please tell me some other combinations.

===================================================
Among the following characters, ~æ£ÇÄ, Ç was replaced.
===================================================

Thanks in advance.
Kanu
  #6 (permalink)  
Old 02-01-2008
kanu_pathak kanu_pathak is offline
Registered User
  
 

Join Date: Jan 2008
Location: India
Posts: 34
It is "Print". I dont know why this emoticon(invalid characters in my life?) came up.

Thanks
  #7 (permalink)  
Old 02-01-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
You can click "Disable smilies in text" option when you post. I edited your post to do that. Don't know why you're having trouble and I can't test in your environment but [:alnum:] is all letters and numbers. Try that. [:print:] is anything you can see, which is not what you want here. You want to discard some visible characters but keep others. Another thing to try is [a-z][A-Z][0-9] It's supposed to work without the brackets by some very old versions of tr required brackets for a range.
Sponsored Links
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 04:17 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0