I have a question about removing invisible characters which can be only be seen when we try to view the file using "vi" command. We have a file that's being generated by Datastage Application (Source is a DB2 Table -> Target is a .txt File). File has data with different data types. I'm having an issue with just 3 columns which have their datatypes defined as CHAR.
If you open the file in a Textpad you'd see spaces. But when you view the same file on Unix via vi command, we see ^@ characters in blue color. My file is a delimiter file with the delimiter as ^@^ (I know it's kinda sounds weird) .
I have tried:
tr -d [:cntrl:] <Filename >NewFileName
— Still no luck — [Delimiters are removed but the spaces remain]tr -s "^@" <Filename >NewFilename
— Still no luck — I see file reduce in file size but the invisible characters still stay.sed "s/^@/g/"
(and other sed commands) <Filename
— still no luck.Any suggestions are really appreciated. I have researched the posts on this website but I couldn't find one. If it's a simple please excuse me and share your thoughts.
In vi, NUL characters are represented as ^@
. To get rid of them:
Using tr, you should be able to remove the NUL characters as follows:
tr -d '\000' < file-name > new-file-name