c program to extract text between two delimiters from some text file


 
Thread Tools Search this Thread
Top Forums Programming c program to extract text between two delimiters from some text file
# 8  
Old 12-03-2008
Code:
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

int
main ()
{
    FILE * f;
    char buf[1024];
    char * saveptr;
    char * token;
    char hash[7][100];
    int offset;

    f = fopen ("list", "r");

    while (fgets (buf, 1024, f))
    {  
        if (strchr(buf, '\n'))
            *strchr(buf, '\n') = '\0';
        for (offset=0, token = buf; offset < 7 ; token = NULL, offset++)
        {  
            token = strtok_r(token, "|", &saveptr);
            if (token == NULL)
                break;
            printf ("%s\n", token);
    //      strncpy(hash[offset], token, 100);
        }
    }

    fclose (f);
}

Here is an example of strtok_r() (thread safe). I commented the strncpy() line where every separated value is stored in "hash" variable. If you wish to store everything in memory, you could use linked lists to link multiple structs which have 'hash' variables.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Match text to lines in a file, iterate backwards until text or text substring matches, print to file

hi all, trying this using shell/bash with sed/awk/grep I have two files, one containing one column, the other containing multiple columns (comma delimited). file1.txt abc12345 def12345 ghi54321 ... file2.txt abc1,text1,texta abc,text2,textb def123,text3,textc gh,text4,textd... (6 Replies)
Discussion started by: shogun1970
6 Replies

2. Shell Programming and Scripting

extract a word from text file name

Hi i want to extract the word present before .txt in the text file. For example, Sample_ab_a.txt ----------> i need 'a' Sample_abc_b.txt -----------> i need 'b' Can anyone help me in getting the word extracted (5 Replies)
Discussion started by: Sindhuap
5 Replies

3. Shell Programming and Scripting

Print text between delimiters IF it contains a certain term...

So I'm racking my brain on appropriate ways to solve a problem that once fixed, will solve every problem in my life. Its very easy (for you guys and gals) I'm sure, but I can't seem to wrap my mind around the right approach. I really want to use bash to do this, but I can't grasp how I'm going to... (14 Replies)
Discussion started by: eh3civic
14 Replies

4. Shell Programming and Scripting

extract text from a file

I have been reading several posts regarding how to extract text from a file, but none of those have helped me for what I need. This is my problem: I need to extract the text after my pattern So my line is: 485.74 6589.5 Log likelihood: 1485.79 My pattern is 'Log likelihood:' and I need... (2 Replies)
Discussion started by: loperam
2 Replies

5. Shell Programming and Scripting

Order text by delimiters

I try order the content from file by delimiters. This is the text: interface Loopback0 description !!!RID RR_SLT ip address 172.31.128.19 255.255.255.255 interface GigabitEthernet0 description !!!P_SLT GI0/0/9 ip address 172.31.130.246 255.255.255.252 and the result that I need... (11 Replies)
Discussion started by: bobbasystem
11 Replies

6. Shell Programming and Scripting

extract particular lines from text file

I have two files file A which have a number in every row and file B which contains few hundred thousand rows with about 300 characters in each row (csv) What I need is to extract whole rows from B file (only these which numbers are indicated in A file) I also need to use cygwin. Any... (7 Replies)
Discussion started by: gunio
7 Replies

7. Shell Programming and Scripting

Fetch the rows with match string on a fixed lenth text file - NO delimiters

Hi I am trying to fetch the rows with match string "0000001234" Input file looks like below: 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1... (6 Replies)
Discussion started by: nareshk
6 Replies

8. AIX

Print text between two delimiters

Hi, Can somebody help me with the below situation, Input File, ======== 2007_08_07_IA-0100-014_(MONTHLY).PDF 2007_08_07_IA-0100-031_(QUARTERLY)(RERUN).PDF 2008-02-28_KR-1022-003_(MONTH)(RERUN)(REC1).CSV Required output, ============ MONTHLY QUARTERLY MONTH ... (15 Replies)
Discussion started by: sravicha
15 Replies

9. Shell Programming and Scripting

how to extract columns from a text file

Hi, In ksh, I have a file with similar rows as follows: Department = 1234 G/L Asset Acct No = 12.0000. 2/29/2008 Department = 1234 G/L Asset Acct No = 13.0000. 3/29/2008. I want to create a new text file that contains only the numbers and date: 1234 12.0000. 2/29/2008 1234 13.0000. ... (16 Replies)
Discussion started by: ihot
16 Replies

10. UNIX for Advanced & Expert Users

extract text b/w two delimiters

I have an input file which looks like " @$SCRIPT/atp_asrmt_adj.sql $SCRIPT/dba2000.scr -s / @$SCRIPT/cim1005w.pls $SCRIPT/dba2000.scr -s / @$SCRIPT/cim1006w.pls start $SCRIPT/cim1020d.sql;^M spool $DATA/cim1021m.sql @$DATA/cim1021m.sql ! rm $DATA/cim1021m.sql spool $DATA/cim1021m.sql... (6 Replies)
Discussion started by: dowsed4u8
6 Replies
Login or Register to Ask a Question
PMDATEXT(3)						     Library Functions Manual						       PMDATEXT(3)

NAME
pmdaText - extract metric help text for a PMDA C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/pmda.h> int pmdaText(int ident, int type, char **buffer, pmdaExt *pmda); cc ... -lpcp_pmda -lpcp DESCRIPTION
As part of the Performance Metrics Domain Agent (PMDA) API (see PMDA(3)), pmdaText uses the standard PMDA(3) data structures to return the help text for metric ident in buffer. The help text must be located in help text files created with newhelp(1), and the associated files are automatically opened by pmdaInit(3). The path to the (basename of the) help text files can be set in the calls to pmdaDSO(3) or pmdaDaemon(3) and overridden by the -h command line option in pmdaGetOpt(3). The encoding of ident follows the internal scheme used below the routines pmLookupText(3) and pmLookupInDomText(3), namely ident encodes either a metric identifier or an instance domain identifier, according to the value of type. The type argument is a bit mask that encodes the interpretation of ident and the requested form of help text, as follows: either PM_TEXT_PMID if ident is a metric identifier, or PM_TEXT_INDOM if ident is an instance domain identifier, plus either PM_TEXT_ONELINE for the one line help text or PM_TEXT_HELP for the full help text. The buffer is managed internally (usually it is cached), and it should not be released or freed by the caller of pmdaText. DIAGNOSTICS
If the requested help text could not be obtained, pmdaText will return PM_ERR_TEXT. CAVEAT
The PMDA must be using PMDA_PROTOCOL_2 or later, as specified in the call to pmdaDSO(3) or pmdaDaemon(3). SEE ALSO
newhelp(1), malloc(3), PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3), pmdaInit(3), pmLookupInDomText(3) and pmLookupText(3). Performance Co-Pilot PCP PMDATEXT(3)