You might want to add something to delete the first line of the resulting file as the tr does a great job but also translates the first bracket into a blank line before your data so you end up with an additional line.
I want to collect the characters from 1-10 and 20-30 from each line of the file and take them in a file in the following format.Can someone help me with this :
string1,string2
string1,string2
string1,string2
:
:
:
: (7 Replies)
Hi,
I have a sql file and i need to extract the table names used in the sql file using a unix script. If i can extract the lines between the keywords 'FROM' and 'WHERE' in the file, my job is done. can somebody tell me how to do this using a shell script. If u can just let me know, how to... (2 Replies)
Hello,
I am comparing files with for mismatches using fgrep but I've run into a problem.
fgrep -vf $file1 $file2 > mismatches.dat
file1 and file2 both contain file names on each line
file1 has filenames which are up to 92 characters long and contain the "$" char.
example file name:... (2 Replies)
Hello all,
I am being dumb with this and I know there is a simple solution.
I have a file with the follwing lines
bc stuff (more)...............123
bc stuffagain (moretoo)............0
bc stuffyetagain (morehere)......34
failed L3 thing..............1
failed this... (2 Replies)
Hi,
I've looked at a few existing posts on this, but they don't seem to work for my inputs.
I have a text file where I want to extract all the text between two strings, every time that occurs.
Eg my input file is
Anna said that she would fetch the bucket.
Anna and Ben moved the bucket.... (9 Replies)
Hi,
I tried to adapt bartus's solution to my problem, without success. I want to replace all the occurences of this:
with:
, where something can contain an arbitrary number of balanced parens and brakets.
Any ideas ?
Best, (1 Reply)
Hello,
I need some help,
I got a CSV file called test.txt with this text in it :
08/02/2011;0,677;0,903;1,079;1,336;1,513;1,683
There's only a line and i need to copy theese numbers into variables :
0,677
0,903
1,079
1,336
1,513
1,683
The output file should look like this... (5 Replies)
This is my input file:
a|b|c(ef)|g|h(km)|p
My output file should look like:
a|b|ef|g|km|p
That is, pipe is the delimiter. The data within pipe must be displayed as it is but if it encounters any data within parentheses, then only the data within parentheses has to be displayed ( the data... (2 Replies)
Hello to all,
I'm trying to match only fields surrounded by double quotes that have one or more commas inside.
The text is like this
"one, t2o",334,"tst,982-0",881,"kmk 9-l","kkd, 115-001, jj-3",5
The matches should be
"one, t2o"
"tst,982-0"
"kkd, 115-001, jj-3"
I'm trying with... (11 Replies)
Discussion started by: Ophiuchus
11 Replies
LEARN ABOUT OPENSOLARIS
getsubopt
getsubopt(3C) Standard C Library Functions getsubopt(3C)NAME
getsubopt - parse suboption arguments from a string
SYNOPSIS
#include <stdlib.h>
int getsubopt(char **optionp, char * const *keylistp, char **valuep);
DESCRIPTION
The getsubopt() function parses suboption arguments in a flag argument. Such options often result from the use of getopt(3C).
The getsubopt() argument optionp is a pointer to a pointer to the option argument string. The suboption arguments are separated by commas
and each can consist of either a single token or a token-value pair separated by an equal sign.
The keylistp argument is a pointer to a vector of strings. The end of the vector is identified by a null pointer. Each entry in the vector
is one of the possible tokens that might be found in *optionp. Since commas delimit suboption arguments in optionp, they should not appear
in any of the strings pointed to by keylistp. Similarly, because an equal sign separates a token from its value, the application should not
include an equal sign in any of the strings pointed to by keylistp.
The valuep argument is the address of a value string pointer.
If a comma appears in optionp, it is interpreted as a suboption separator. After commas have been processed, if there are one or more equal
signs in a suboption string, the first equal sign in any suboption string is interpreted as a separator between a token and a value. Subse-
quent equal signs in a suboption string are interpreted as part of the value.
If the string at *optionp contains only one suboption argument (equivalently, no commas), getsubopt() updates *optionp to point to the null
character at the end of the string. Otherwise, it isolates the suboption argument by replacing the comma separator with a null character
and updates *optionp to point to the start of the next suboption argument. If the suboption argument has an associated value (equivalently,
contains an equal sign), getsubopt() updates *valuep to point to the value's first character. Otherwise, it sets *valuep to a null pointer.
The calling application can use this information to determine whether the presence or absence of a value for the suboption is an error.
Additionally, when getsubopt() fails to match the suboption with a token in the keylistp array, the calling application should decide if
this is an error or if the unrecognized option should be processed in another way.
RETURN VALUES
The getsubopt() function returns the index of the matched token string or -1 if no token strings were matched.
ERRORS
No errors are defined.
EXAMPLES
Example 1 Use getsubopt() to process options.
The following example demonstrates the processing of options to the mount(1M) utility using getsubopt().
#include <stdlib.h>
char *myopts[] = {
#define READONLY 0
"ro",
#define READWRITE 1
"rw",
#define WRITESIZE 2
"wsize",
#define READSIZE 3
"rsize",
NULL};
main(argc, argv)
int argc;
char **argv;
{
int sc, c, errflag;
char *options, *value;
extern char *optarg;
extern int optind;
.
.
.
while((c = getopt(argc, argv, "abf:o:")) != -1) {
switch (c) {
case 'a': /* process a option */
break;
case 'b': /* process b option */
break;
case 'f':
ofile = optarg;
break;
case '?':
errflag++;
break;
case 'o':
options = optarg;
while (*options != '