06-30-2006
Hope this helps.
I had a big issue with this while trying to get a flat file into Oracle. I tried using vi and sed, and ultimately came upon a solution using strings and tr.
Here is my shell script:
#make a backup
cp $1 $1.orig
#Strip out nulls.
tr -d ‘\0′ < $1.orig > $1.temp
#Strip out other unprintable characters
strings $1.temp > $1
#Remove temp file.
rm $1.temp
#Fix permissions. (You may not need this for your application)
chmod 744 $1
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I'm trying to remove the null characters from a file and copy it to std output.
I'm using emacs and I create the following one line bash file (followed by the error messages):
sed -e 's/^@//' <ConfigItemReplicator.install.log
/usr/bin/bash: -c: line 0: unexpected EOF while looking for... (1 Reply)
Discussion started by: siegfried
1 Replies
2. Shell Programming and Scripting
sed 's/^..//' file1.txt > file2.txt
this will remove the first two characters of each line of a text file, what sed command will remove the last two characters? This is a similar post to my other....sry if I'm being lazy....
I need a file like this (same as last post)
>cat file1.txt
10081551... (1 Reply)
Discussion started by: ajp7701
1 Replies
3. Shell Programming and Scripting
Here is my code.
for file in *1.3.html ; do mv "$file" `echo $file | tr '.1.3' ''` ; done
For some reason I am getting an error.
mv: file.idlesince.1.3.html and file.idlesince.1.3.html are identical
Could this be done a different way? (5 Replies)
Discussion started by: mrlayance
5 Replies
4. Shell Programming and Scripting
Hi All,
As all of us know that while moving a file from Windows to Unix some unwanted ^M characters appear in the file. For my case I have release package in zip format which looks like Module_Name_Tag.zip. It contains some directory structure...like
Module_Name_Tag.zip
|
|--trunk/... (2 Replies)
Discussion started by: bhaskar_m
2 Replies
5. Shell Programming and Scripting
Hi,
I have one file in the following format.
exa_resu_adj.4ge v.47645 PERSONAL INFORMAIONS PVT LTD 31 Dec 2009 04:36 Page 1
SALARY REPORT
Account Account Name CCode Bill No Balance T Amt
----------- ------------ ------- ---------- ------------- -------------
17490001 Mr Ram PM 10... (6 Replies)
Discussion started by: Kattoor
6 Replies
6. UNIX Desktop Questions & Answers
I tried using below command
tr -cd "" < InputFile.xml > output.txt ============= This removes all the tabs/newline/extra spaces from a file
it successfully removed all the extra spaces,tabs and new line characters but then the complete file become one record. I want to retain one new line... (1 Reply)
Discussion started by: saini
1 Replies
7. Shell Programming and Scripting
Hello
I've question on the requirement I am working on.
We are getting a fixed length file with "33" characters long. We are processing that file loading into DB.
Now some times we are getting a file with "35" characters long. In this case I have to remove two characters (in 22,23... (14 Replies)
Discussion started by: manasvi24
14 Replies
8. Shell Programming and Scripting
On SPARC Solaris 10. I set the app account so it's expired. I also want it
so not required to change password at first login, I can do this by
removing the numbers after the password in /etc/shadow.
example using user1
The /etc/shadow file looks like this:
user1:kOmcVXAImRTAY:0::::90::
... (8 Replies)
Discussion started by: TKD
8 Replies
9. Shell Programming and Scripting
i know , the below question has been repeated.
can you guys guide me .
I have the below input
999999 xxxxxxxxxxxxxx 123.45 2013-05-02 08:14 1 1 1 xxxx
999999 xxxxxxxxxxxxxx 123.45 2013-06-02 02:14 1 4 1 dddd
i need to remove from the column 54 to 70 , as like the below output.... (9 Replies)
Discussion started by: expert
9 Replies
10. Shell Programming and Scripting
How do I remove the printer escape sequence, the first 5 characters, that occurs on every 33rd line in a file, see hex dump of line 1.
0000 1e 00 00 00 00 0a 0a 0a 20 0a 20 20 20 20 20 20 ....
0010 20 20 20 20 20 20 20 20 20 20 0a 42 49 4c 4c 20
Thanks, (2 Replies)
Discussion started by: jgt
2 Replies
LEARN ABOUT CENTOS
sdl_pixelformat
SDL_PixelFormat(3) SDL API Reference SDL_PixelFormat(3)
NAME
SDL_PixelFormat - Stores surface format information
STRUCTURE DEFINITION
typedef struct SDL_PixelFormat {
SDL_Palette *palette;
Uint8 BitsPerPixel;
Uint8 BytesPerPixel;
Uint8 Rloss, Gloss, Bloss, Aloss;
Uint8 Rshift, Gshift, Bshift, Ashift;
Uint32 Rmask, Gmask, Bmask, Amask;
Uint32 colorkey;
Uint8 alpha;
} SDL_PixelFormat;
STRUCTURE DATA
palette Pointer to the palette, or NULL if the BitsPerPixel>8
BitsPerPixel The number of bits used to represent each pixel in a surface. Usually 8, 16, 24 or 32.
BytesPerPixel The number of bytes used to represent each pixel in a surface. Usually one to four.
[RGBA]mask Binary mask used to retrieve individual color values
[RGBA]loss Precision loss of each color component (2^[RGBA]loss)
[RGBA]shift Binary left shift of each color component in the pixel value
colorkey Pixel value of transparent pixels
alpha Overall surface alpha value
DESCRIPTION
A SDL_PixelFormat describes the format of the pixel data stored at the pixels field of a SDL_Surface. Every surface stores a SDL_PixelFor-
mat in the format field.
If you wish to do pixel level modifications on a surface, then understanding how SDL stores its color information is essential.
8-bit pixel formats are the easiest to understand. Since its an 8-bit format, we have 8 BitsPerPixel and 1 BytesPerPixel. Since BytesPer-
Pixel is 1, all pixels are represented by a Uint8 which contains an index into palette->colors. So, to determine the color of a pixel in a
8-bit surface: we read the color index from surface->pixels and we use that index to read the SDL_Color structure from surface->for-
mat->palette->colors. Like so:
SDL_Surface *surface;
SDL_PixelFormat *fmt;
SDL_Color *color;
Uint8 index;
.
.
/* Create surface */
.
.
fmt=surface->format;
/* Check the bitdepth of the surface */
if(fmt->BitsPerPixel!=8){
fprintf(stderr, "Not an 8-bit surface.
");
return(-1);
}
/* Lock the surface */
SDL_LockSurface(surface);
/* Get the topleft pixel */
index=*(Uint8 *)surface->pixels;
color=fmt->palette->colors[index];
/* Unlock the surface */
SDL_UnlockSurface(surface);
printf("Pixel Color-> Red: %d, Green: %d, Blue: %d. Index: %d
",
color->r, color->g, color->b, index);
.
.
Pixel formats above 8-bit are an entirely different experience. They are considered to be "TrueColor" formats and the color information is
stored in the pixels themselves, not in a palette. The mask, shift and loss fields tell us how the color information is encoded. The mask
fields allow us to isolate each color component, the shift fields tell us the number of bits to the right of each component in the pixel
value and the loss fields tell us the number of bits lost from each component when packing 8-bit color component in a pixel.
/* Extracting color components from a 32-bit color value */
SDL_PixelFormat *fmt;
SDL_Surface *surface;
Uint32 temp, pixel;
Uint8 red, green, blue, alpha;
.
.
.
fmt=surface->format;
SDL_LockSurface(surface);
pixel=*((Uint32*)surface->pixels);
SDL_UnlockSurface(surface);
/* Get Red component */
temp=pixel&fmt->Rmask; /* Isolate red component */
temp=temp>>fmt->Rshift;/* Shift it down to 8-bit */
temp=temp<<fmt->Rloss; /* Expand to a full 8-bit number */
red=(Uint8)temp;
/* Get Green component */
temp=pixel&fmt->Gmask; /* Isolate green component */
temp=temp>>fmt->Gshift;/* Shift it down to 8-bit */
temp=temp<<fmt->Gloss; /* Expand to a full 8-bit number */
green=(Uint8)temp;
/* Get Blue component */
temp=pixel&fmt->Bmask; /* Isolate blue component */
temp=temp>>fmt->Bshift;/* Shift it down to 8-bit */
temp=temp<<fmt->Bloss; /* Expand to a full 8-bit number */
blue=(Uint8)temp;
/* Get Alpha component */
temp=pixel&fmt->Amask; /* Isolate alpha component */
temp=temp>>fmt->Ashift;/* Shift it down to 8-bit */
temp=temp<<fmt->Aloss; /* Expand to a full 8-bit number */
alpha=(Uint8)temp;
printf("Pixel Color -> R: %d, G: %d, B: %d, A: %d
", red, green, blue, alpha);
.
.
.
SEE ALSO
SDL_Surface, SDL_MapRGB
SDL
Tue 11 Sep 2001, 23:01 SDL_PixelFormat(3)