I beleive you can do it with fseek itself by mentioning the bytes. See our terminal is 23*79, I mean to say 23 rows and 79 columns.
Say, if we have each coulmn occupies 1 character exactly, it means 1 byte. Therefore, a line can have 79 bytes of data in it. Then to move the nth line, you can use this formula byte position=(((n-1)*number of bytes per line)+1).
I derived this formula, hope it will work.
Put this byte position in your fseek() function.
Please find the number of characters or bytes occpied by each column in a line of terminal. ere I assumed each column occupies 1 charcter and derived the formula.
please revert me back with the solution resulted.
regards,
Ramkrix
Thanks for the reply..
But how to know number of bytes per line . Its changing per line in my case.
I tried something like follow but still in half way.
output
In the above case it displays me something starnage output but when i change the above code to following
I am getting what I supposed to get.
output:
But still I cant find out my sol..
Thanks in advance..
Last edited by user_prady; 03-26-2008 at 02:02 AM..
I have a text file that has blocks of text. Each block starts with ### and ends with End_###.
I wrote a perl script to search a string from line 2 (ignore any line starts with ###) of each block
if matched, need to print that whole block. According to the input file in below, it will print... (5 Replies)
Hi,
I have a file called /bb/bin/rstrt.
I need to move the line/entry "ccpm_load_shared_memory" after the entry
"initcorp". The problem is that there are several entries for "initcorp" in this file and I need the entry to be moved only after the first instance of "initcorp"
Is there a way... (5 Replies)
I'm rather new to scripting, and despite my attempts at finding/writing a script to do what I need, I have not yet been successful.
I have a file named "list.txt" of arbitrary length with contents in the following format:
/home/user/Music/file1.mp3
/home/user/Music/file2.mp3... (21 Replies)
If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it:
(1) one is to pass a pointer-to-pointer parameter, like:
int my_malloc(int size, char **pmem)
{
*pmem=(char *)malloc(size);
if(*pmem==NULL)... (11 Replies)
Can somebody help me with a script ....
Read a file /etc/inittab
find the string starting with rcml and move it entirely towards the end of file.
rcml:2:once:/usr/sni/aix52/rc.ml > /dev/console 2>&1
I basically want to change the startup sequence. (2 Replies)
I have a script with this statement:
/usr/xpg4/bin/awk -F"" 'NR==FNR{s=$2;next}{printf "%s\"%s\"\n", $0, s}' LOOKUP.TXT finallistnew.txt >test.txt
I want to include logic or an additional step that says if there is no data in field 3, move the whole line out of test.txt into an additional... (9 Replies)
I want a script that will move everything beyond a certain line number or beyond a certain content word into another file.
For example, if file A has this:
first line
second line
third line
forth line
fifth line
sixth line
I want to run a script that will move everything beyond the third... (4 Replies)
Hi ,
I need your help for the below issue.
I have a file which has data as below
An error came (/u01/app/12.csv)
pkg1.func1: detail s 1111-->pkg1.func1: detail s 2222-->
Now pkg1.func1: .... --> can come multiple times in the second line.
I need to arrange the data in the below... (9 Replies)
Hi,
I have a following file and it has only one occurrence of line that says "Output view:". It could be in middle somewhere ( i don't know the exact location ). I want to move it as the first line of the file.
Input
AAA
BBBB
CCCC
Output view:
XXXX
YYYY
ZZZZ
Output should be:
Output... (13 Replies)
Hey there,
I joined this forum just now cause I need help with an old SUN machine at work. I work on a helpdesk and we use a SOLARIS 5.10 OS. Every once in a while we will try to move one of our windows out of the way to make room on the desktop, and sometimes the mouse doesn't release what we... (7 Replies)
Discussion started by: TRex_2005
7 Replies
LEARN ABOUT REDHAT
fgetpos
FSEEK(3) Linux Programmer's Manual FSEEK(3)NAME
fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream
SYNOPSIS
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
long ftell(FILE *stream);
void rewind(FILE *stream);
int fgetpos(FILE *stream, fpos_t *pos);
int fsetpos(FILE *stream, fpos_t *pos);
DESCRIPTION
The fseek function sets the file position indicator for the stream pointed to by stream. The new position, measured in bytes, is obtained
by adding offset bytes to the position specified by whence. If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to
the start of the file, the current position indicator, or end-of-file, respectively. A successful call to the fseek function clears the
end-of-file indicator for the stream and undoes any effects of the ungetc(3) function on the same stream.
The ftell function obtains the current value of the file position indicator for the stream pointed to by stream.
The rewind function sets the file position indicator for the stream pointed to by stream to the beginning of the file. It is equivalent
to:
(void)fseek(stream, 0L, SEEK_SET)
except that the error indicator for the stream is also cleared (see clearerr(3)).
The fgetpos and fsetpos functions are alternate interfaces equivalent to ftell and fseek (with whence set to SEEK_SET), setting and storing
the current value of the file offset into or from the object referenced by pos. On some non-UNIX systems an fpos_t object may be a complex
object and these routines may be the only way to portably reposition a text stream.
RETURN VALUE
The rewind function returns no value. Upon successful completion, fgetpos, fseek, fsetpos return 0, and ftell returns the current offset.
Otherwise, -1 is returned and the global variable errno is set to indicate the error.
ERRORS
EBADF The stream specified is not a seekable stream.
EINVAL The whence argument to fseek was not SEEK_SET, SEEK_END, or SEEK_CUR.
The function fgetpos, fseek, fsetpos, and ftell may also fail and set errno for any of the errors specified for the routines fflush(3),
fstat(2), lseek(2), and malloc(3).
CONFORMING TO
The fgetpos, fsetpos, fseek, ftell, and rewind functions conform to ANSI X3.159-1989 (``ANSI C'').
SEE ALSO lseek(2), fseeko(3)BSD MANPAGE 1993-11-29 FSEEK(3)