04-17-2013
Thanks a lot for your help. The thing is I am just a newbie in programming, so I might use come over-complicated algorithm and ask stupid questions. One of them is how to use getline in this case, cause I couldn't figure it out even after reading manual on it.
As for input file - it is huge and there will be more lines with O,N,H.
---------- Post updated at 03:39 AM ---------- Previous update was at 03:26 AM ----------
Just "getline". Now it works. Thanks.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Gurus,
I am struggling with a issue and thought I could use some of your expertise.
Need Help with this
I have a flat file that has millions of records
24|john|account ~ info |56|
25|kuo|account ~ journal |58|
27|kim|account ~ journal |59|
28|San|account ~
journal |60|... (3 Replies)
Discussion started by: rimss
3 Replies
2. Shell Programming and Scripting
z=9
i=0
h=02
min=55
while
do
cat /home/barmecha/test | grep $h:$min >> /home/barmecha/file1
min=`expr $min + 1`
if ;
then
h=`expr $h + 1`
fi
i=`expr $i + 1`
done
i have a log file with time wise log in it, this script help me to pull out logs of the give time interval...but the... (8 Replies)
Discussion started by: abhishek27
8 Replies
3. Shell Programming and Scripting
Hi Friends,
Need some help in AWK.
Working on AIX 5
Have been trying the following functionality to make the record length fixed:
if( length(record) < 300 )
{
printf("%-300s\n", record);
}
In my opinion it will apply some fillers in the end.
Its is not making any... (4 Replies)
Discussion started by: kanu_pathak
4 Replies
4. Shell Programming and Scripting
i have a log file while looks like this
++
user_a blabla
blabla nas_b blabla user_d
this is a user_a
junk line
another junk line
user_c nas_m blabla
++
basically most of the lines contain a "user" keywords, and the rest of the lines do not have "user" at all.
So I have the... (17 Replies)
Discussion started by: fedora
17 Replies
5. Shell Programming and Scripting
Hi
I use the following code to read the file and to fix the length of the column of the record in the file 'Sample.txt'
ls Samp* | awk '
{ a=$1 }
END{
FS="n"
for(i=1;i<=NR;i++)
{
while( getline < a )
{
f1=$0;
print("Line::",f1);
f2=substr(f1,1,10)
print("Field1::",f2);... (10 Replies)
Discussion started by: meva
10 Replies
6. Shell Programming and Scripting
I have a script which will mask the 9th and 15th column in a record starting with BPR.
The record looks like below before my script
BPR*C*160860.04*C*ACH*CTX*01*072000326*DA*1548843*3006968523**01*071000013*DA*5529085*100323*VEN
The record will be masked after my script parses this... (19 Replies)
Discussion started by: Muthuraj K
19 Replies
7. Shell Programming and Scripting
Hi
I am dealing with the following string:
Date: Thur, 13 March 2011 01:01:10 +0000
I asked for help in another topic that converted a similar string:
Date: Thur, 13 March 2011 9:50 AM
To a 24 hr standard. The problem is that it comes out as:
Date: Thur, 13 March 2011 9:50:00 +0000... (4 Replies)
Discussion started by: duonut
4 Replies
8. Shell Programming and Scripting
Hi ,
I'd like to give you a little bit idea about my script which is used to get any generated file from remote server using ftp session then organized those file into directories based on their date ( at the end I supposed to have 1 months directories 20130401 20130402 ....20130430 ,... (27 Replies)
Discussion started by: arm
27 Replies
9. Shell Programming and Scripting
Hi All,
I have problem in the middle of implementing to users, whereby the complaint is all about the decimal place which is too long. I need two decimal places only, but the outcome from command is always fixed to 6.
See the sample :
before:
Sort Total
Site Sort SortName Parts ... (3 Replies)
Discussion started by: horsepower
3 Replies
10. UNIX for Dummies Questions & Answers
Hi all...
i have been trying to make this work but I have been failing for 6 hours ..
I know it should be something simple that I am missing to it would be great if you can help me ...
I want to subtract a fixed value (lets set 1) from any value >=1 from the whole file
my file looks like
... (4 Replies)
Discussion started by: A-V
4 Replies
LEARN ABOUT LINUX
getline
GETLINE(3) Linux Programmer's Manual GETLINE(3)
NAME
getline, getdelim - delimited string input
SYNOPSIS
#include <stdio.h>
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
getline(), getdelim():
Since glibc 2.10:
_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
Before glibc 2.10:
_GNU_SOURCE
DESCRIPTION
getline() reads an entire line from stream, storing the address of the buffer containing the text into *lineptr. The buffer is null-termi-
nated and includes the newline character, if one was found.
If *lineptr is NULL, then getline() will allocate a buffer for storing the line, which should be freed by the user program. (In this case,
the value in *n is ignored.)
Alternatively, before calling getline(), *lineptr can contain a pointer to a malloc(3)-allocated buffer *n bytes in size. If the buffer is
not large enough to hold the line, getline() resizes it with realloc(3), updating *lineptr and *n as necessary.
In either case, on a successful call, *lineptr and *n will be updated to reflect the buffer address and allocated size respectively.
getdelim() works like getline(), except that a line delimiter other than newline can be specified as the delimiter argument. As with get-
line(), a delimiter character is not added if one was not present in the input before end of file was reached.
RETURN VALUE
On success, getline() and getdelim() return the number of characters read, including the delimiter character, but not including the termi-
nating null byte. This value can be used to handle embedded null bytes in the line read.
Both functions return -1 on failure to read a line (including end-of-file condition).
ERRORS
EINVAL Bad arguments (n or lineptr is NULL, or stream is not valid).
VERSIONS
These functions are available since libc 4.6.27.
CONFORMING TO
Both getline() and getdelim() were originally GNU extensions. They were standardized in POSIX.1-2008.
EXAMPLE
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
int
main(void)
{
FILE *fp;
char *line = NULL;
size_t len = 0;
ssize_t read;
fp = fopen("/etc/motd", "r");
if (fp == NULL)
exit(EXIT_FAILURE);
while ((read = getline(&line, &len, fp)) != -1) {
printf("Retrieved line of length %zu :
", read);
printf("%s", line);
}
free(line);
exit(EXIT_SUCCESS);
}
SEE ALSO
read(2), fgets(3), fopen(3), fread(3), gets(3), scanf(3), feature_test_macros(7)
COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU
2010-06-12 GETLINE(3)