12-20-2012
You can do something similar in bash with indexed arrays for the input, saved header, and output, if in a subshell you add '|' to the front of $IFS (If the word is double-quoted, ${name[*]} expands to a single word with the value of each array member separated by the first character of the IFS special variable), read -a, etc. that will accomodate any nnumber and name columns and rows dynamically (assuming they are sorted on the key column). The usual challenges on starting and ending the loop do not go away. That is why they invented SQL, text ODBC and JDBC, Excel, etc.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
Does anyone know the command to know the # of rows and columns for a file?
thanks (3 Replies)
Discussion started by: kylle345
3 Replies
2. Shell Programming and Scripting
Hi,
Let me know how to achieve the below requirment
Input:
========
BEGIN DSSUBRECORD
Name "DOC_NO_2"
SqlType "-5"
Precision "0"
Scale "0"
Nullable "0"
END DSSUBRECORD
BEGIN DSSUBRECORD
Name "FROM_LOC"
... (1 Reply)
Discussion started by: Ramya_1104
1 Replies
3. Shell Programming and Scripting
I have a file thats space delimited that looks something like this:
Joe Smith jsmith 43234 bill1;bill2;read;read2;schedule
Andy Summers asummers 11232 bill1;read
Beth McConnel bmconnel 43443 read;read2;schedule;bill
Susan Fowler sfowler 09332 bill1;read;schedule
I need to... (8 Replies)
Discussion started by: regexnub
8 Replies
4. Shell Programming and Scripting
Hi Friends,
I have a input file as below. how to convert rows to columns?
Friday:recharge 3861140
Monday:recharge 4036228
Saturday:recharge 3996376
Sunday:recharge 3777749
Thursday:recharge 3858537
Tuesday:recharge 4047045
Wednesday:recharge 3954798
desinred output
Sunday ... (3 Replies)
Discussion started by: suresh3566
3 Replies
5. Shell Programming and Scripting
Input File
vCenter Servers:
172.28.173.207:
vCenter Server connectivity status: Accessible
ESX servers:
Name: nyp-vhst1001-at.hq.nt.life.com
IP address: 10.34.36.11
Virtual machines:
Name:nyp-bbmds-at
Ip address: 172.28.173.139
... (1 Reply)
Discussion started by: greycells
1 Replies
6. Shell Programming and Scripting
Hi Friends,
I have come across some files where some of the columns don not have data.
Key, Data1,Data2,Data3,Data4,Data5
A,5,6,,10,,
A,3,4,,3,,
B,1,,4,5,,
B,2,,3,4,,
If we see the above data on Data5 column do not have any row got filled. So remove only that column(Here Data5) and... (4 Replies)
Discussion started by: ks_reddy
4 Replies
7. Shell Programming and Scripting
Hi all, I know this sounds suspiciously like a homework course; but, it is not.
My goal is to take a file, and match my "ID" column to the "Date" column, if those conditions are true, add the total number of minutes worked and place it in this file, while not printing the original rows that I... (6 Replies)
Discussion started by: mtucker6784
6 Replies
8. Shell Programming and Scripting
Hi all, I'm pretty much a newbie to UNIX. I would appreciate any help with UNIX coding on comparing two large csv files (greater than 10 GB in size), and output a file with matching columns.
I want to compare file1 and file2 by 'id' and 'chain' columns, then extract exact matching rows'... (5 Replies)
Discussion started by: bkane3
5 Replies
9. Shell Programming and Scripting
Hi,
I have a text file with records as below
Service Contract:
Account Type:
Client Number:
Group Number:
Account Currency:
I want to print 2nd,3rd and 5th as a separate column, like ->
Account Type: ,Client Number: ,Account Currency:
How can I do that? (1 Reply)
Discussion started by: dsid
1 Replies
10. UNIX for Beginners Questions & Answers
HI UNIX Gurus,
Not sure if this was already asked and an UNIX Guru has replied but I could not find what i wanted. I have linux environment and need help on this. I have several files like this.
a,1
b,1
utc,10/12/2019
local,10/12/2018
name,xxxy
deg,feh
10,12
20,8
30,50
32,64
46,65... (5 Replies)
Discussion started by: Roopensingh
5 Replies
LEARN ABOUT FREEBSD
openpam_readword
OPENPAM_READWORD(3) BSD Library Functions Manual OPENPAM_READWORD(3)
NAME
openpam_readword -- read a word from a file, respecting shell quoting rules
LIBRARY
Pluggable Authentication Module Library (libpam, -lpam)
SYNOPSIS
#include <sys/types.h>
#include <stdio.h>
#include <security/pam_appl.h>
#include <security/openpam.h>
char *
openpam_readword(FILE *f, int *lineno, size_t *lenp);
DESCRIPTION
The openpam_readword() function reads the next word from a file, and returns it in a NUL-terminated buffer allocated with malloc(3).
A word is a sequence of non-whitespace characters. However, whitespace characters can be included in a word if quoted or escaped according
to the following rules:
o An unescaped single or double quote introduces a quoted string, which ends when the same quote character is encountered a second time.
The quotes themselves are stripped.
o Within a single- or double-quoted string, all whitespace characters, including the newline character, are preserved as-is.
o Outside a quoted string, a backslash escapes the next character, which is preserved as-is, unless that character is a newline, in which
case it is discarded and reading continues at the beginning of the next line as if the backslash and newline had not been there. In all
cases, the backslash itself is discarded.
o Within a single-quoted string, double quotes and backslashes are preserved as-is.
o Within a double-quoted string, a single quote is preserved as-is, and a backslash is preserved as-is unless used to escape a double
quote.
In addition, if the first non-whitespace character on the line is a hash character (#), the rest of the line is discarded. If a hash charac-
ter occurs within a word, however, it is preserved as-is. A backslash at the end of a comment does cause line continuation.
If lineno is not NULL, the integer variable it points to is incremented every time a quoted or escaped newline character is read.
If lenp is not NULL, the length of the word (after quotes and backslashes have been removed) is stored in the variable it points to.
RETURN VALUES
If successful, the openpam_readword() function returns a pointer to a dynamically allocated NUL-terminated string containing the first word
encountered on the line.
The caller is responsible for releasing the returned buffer by passing it to free(3).
If openpam_readword() reaches the end of the line or file before any characters are copied to the word, it returns NULL. In the former case,
the newline is pushed back to the file.
If openpam_readword() reaches the end of the file while a quote or backslash escape is in effect, it sets errno to EINVAL and returns NULL.
IMPLEMENTATION NOTES
The parsing rules are intended to be equivalent to the normal POSIX shell quoting rules. Any discrepancy is a bug and should be reported to
the author along with sample input that can be used to reproduce the error.
SEE ALSO
openpam_readline(3), openpam_readlinev(3), pam(3)
STANDARDS
The openpam_readword() function is an OpenPAM extension.
AUTHORS
The openpam_readword() function and this manual page were developed by Dag-Erling Smorgrav <des@des.no>.
BSD
September 12, 2014 BSD