Sliding in an output delimiter is not a difficult task, but finding empty fields in the input when the input delimiters are a couple of spaces, and the input fields are space padded, too, is NOT a deterministic task. In this case, I'll take 5 spaces (two as field delimiters, three for field width) as an empty field identifier, but YMMV.
Thanks again RudiC. It works with the sample file but as you said different results could be obtained. Trying other input the output is not correct for some values of 4 last columns, but I understand the reason you explain. The input is not clearly determined in its fields so is difficult to parse it.
I think I could use your 3 solutions and manually separate the values in 4 last columns.
Many thanks for your help.
---------- Post updated at 01:37 PM ---------- Previous update was at 12:22 PM ----------
Hello RudiC,
May you explain me please how this part of your first solution works?
I understand with getline reads the next line after the matched string, but I don't see clear how if you already printed a line after the first getline, then why you apply another getline and a next and how you arrange the correct output with another print.
would like to standardize how we set envs on our unix box, so I thought a menu would be a great way to accomplish this.
The problem I'm experiencing, is the value is set...but ONLY during the time the menu is initiated.
please see below:
> /home/is/bin/r12MENU.sh
... (2 Replies)
hello
i have written a multitask script which performs verifications on the server (RHEL 5 tikanga); based on list of rules.
since the results are huge both in length and number and I am sending them all to my log file.
Is there any method to organize the STATUS of my results in a defined... (1 Reply)
I'm looking for terminal programs, which organize and pretty code like HTML or JavaScript.
Thanks!
---------- Post updated at 07:01 AM ---------- Previous update was at 01:49 AM ----------
Found this Online javascript beautifier (1 Reply)
Hi Everyone !
i want to make an application which is written in shell script and in Bourne shell (sh)
i want, when my script is executed, it read all the files in the directly and move them to folders according to their extension.
suppose i have a files:
test.txt
test.jpg
test.docx... (1 Reply)
I'm attempting to write a script that will look into a directory, discover all unique names, create directories for their prefix names and place the files inside. I do this now one by one with a simple script but I'd like to automate the process.
The directory would contain something like: ... (6 Replies)
I want to have one .bash_profile works on multiple platform, ubuntu, debian, redhat, cygwin, osx. So how should I organize .bash_profile?
It can be multiple files in some subdir
Let me brief you:
what i want is a way to organize bash_profile across platforms so I can use one set of profiles... (2 Replies)
Discussion started by: John_Peter
2 Replies
LEARN ABOUT CENTOS
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 ('