I have an inputfile that I trying to awk with a getline(Solaris v8 ksh). However I need to have the results be a unique. Is there a comparable command within awk to return a unique result? Or can you break out of the awk to add a uniq. I am looking for something more complex then a pipe... (6 Replies)
hi , I got a script that I don't understand.
awk '{
command="echo "$1
command | getline echome
close(command)
print $0 "\t" echome
}' < user.list
It reads the file user.list
user.list
London John
Bridge Peter
and sends the stream to the awk command.
I don't understand what is... (3 Replies)
hello collegues,
I am attempting to use awk to search file1 (serverlist.csv) from each row with file2 (supported.txt). If the is no entry exists in serverlist then output to a file called notsupp.out if there is an entry output to supp.out
I can do this with basic shell scripting however... (0 Replies)
How do you make the getline function return to the original line?
The example below should make it clear where I am currently going wrong.
Thanks
AWK SCRIPT:
-------------
awk -F '-' '{
tmpLine = "EMPTY"
print "CURRENT LINE :"$0
getline tmpLine
print "NEXT LINE :"tmpLine
}'... (1 Reply)
I am using awk and want to use getline from a file like below
getline x < file
However file consists of two columns and I only want to store $2
Any way I can do this?
---------- Post updated at 06:54 AM ---------- Previous update was at 06:45 AM ----------
Done something like this.... (1 Reply)
I can not get 'getline()' to compile. I have tried.
string curLine; //= compiler error
char* curLine; //=compiler error
char curLine; //=compiler error
Every example I see uses a string as a getline(); parameter. It does not work for me on Fedora14 with gcc-c++. Thank you so much. This... (1 Reply)
I'm running the script below and get the output below against a file with
lineA=aaa
lineB=bbb
lineC=ccc
lineD=ddd
I get output:
lineC=ccc
lineD=ddd
I need the output to be:
lineB=bbb
lineC=ccc
lineD=ddd
cat filename | nawk '/lineA=aaa/ {
getline;
do {
getline (3 Replies)
Here is I want to do:
find lines in file filteredtrace.txt which is not continued as
a multiply of 4 and strip them from file original_trace_framno.
problem is awk used the ' symbol
so pipe of getline has to use the " symbol
while agument of sed has to use the " symbol,
it doesn't... (8 Replies)
Hi All,
When I do man getline on my Linux system (in BASH), I see an example C code where a file is being read using getline() function.
Now, my question is why there is no fclose() to close the open file pointer?
People who don't have a Linux system, this is the code that I am referring... (3 Replies)
Hi,
I have an awk script with the following function in it .
function cmd( c )
{
while( ( c | getline foo) > 0 ){
return foo ;
close( c );
}
}
c =... (4 Replies)
Discussion started by: MetaMan
4 Replies
LEARN ABOUT FREEBSD
getline
GETLINE(3) BSD Library Functions Manual GETLINE(3)NAME
getdelim, getline -- get a line from a stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#define _WITH_GETLINE
#include <stdio.h>
ssize_t
getdelim(char ** restrict linep, size_t * restrict linecapp, int delimiter, FILE * restrict stream);
ssize_t
getline(char ** restrict linep, size_t * restrict linecapp, FILE * restrict stream);
DESCRIPTION
The getdelim() function reads a line from stream, delimited by the character delimiter. The getline() function is equivalent to getdelim()
with the newline character as the delimiter. The delimiter character is included as part of the line, unless the end of the file is reached.
The caller may provide a pointer to a malloced buffer for the line in *linep, and the capacity of that buffer in *linecapp. These functions
expand the buffer as needed, as if via realloc(). If linep points to a NULL pointer, a new buffer will be allocated. In either case, *linep
and *linecapp will be updated accordingly.
RETURN VALUES
The getdelim() and getline() functions return the number of characters stored in the buffer, excluding the terminating NUL character. The
value -1 is returned if an error occurs, or if end-of-file is reached.
EXAMPLES
The following code fragment reads lines from a file and writes them to standard output. The fwrite() function is used in case the line con-
tains embedded NUL characters.
char *line = NULL;
size_t linecap = 0;
ssize_t linelen;
while ((linelen = getline(&line, &linecap, fp)) > 0)
fwrite(line, linelen, 1, stdout);
free(line);
COMPATIBILITY
Many application writers used the name getline before the getline() function was introduced in IEEE Std 1003.1 (``POSIX.1''), so a prototype
is not provided by default in order to avoid compatibility problems. Applications that wish to use the getline() function described herein
should either request a strict IEEE Std 1003.1-2008 (``POSIX.1'') environment by defining the macro _POSIX_C_SOURCE to the value 200809 or
greater, or by defining the macro _WITH_GETLINE, prior to the inclusion of <stdio.h>. For compatibility with GNU libc, defining either
_BSD_SOURCE or _GNU_SOURCE prior to the inclusion of <stdio.h> will also make getline() available.
ERRORS
These functions may fail if:
[EINVAL] Either linep or linecapp is NULL.
[EOVERFLOW] No delimiter was found in the first SSIZE_MAX characters.
These functions may also fail due to any of the errors specified for fgets() and malloc().
SEE ALSO fgetln(3), fgets(3), malloc(3)STANDARDS
The getdelim() and getline() functions conform to IEEE Std 1003.1-2008 (``POSIX.1'').
HISTORY
These routines first appeared in FreeBSD 8.0.
BUGS
There are no wide character versions of getdelim() or getline().
BSD November 30, 2012 BSD