07-03-2008
Maybe I should be more clear with the issue I'm having. I want to find the third occurrence at the beginning of a line. So if I have a file that reads:
blah blah
blah
pat1 blah
pat1
pat1 blah // <- find this one and replace with pat2
pat1
.
.
blah
I want to find the third pat1 and overlook the first two.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I have several files with data that have to be imported to a database. These files contain records with separator characters. Some records are corrupt (2 separators are missing) and I need to correct them prior to importing them into the db.
Example:
... (5 Replies)
Discussion started by: stresing
5 Replies
2. UNIX for Dummies Questions & Answers
Hi All,
is there a way to extract the line number of an occurrence using grep?
I know that with the -n option it prints out the line number as well.
I would like to assign the line number to a variable.
Thanks,
Sarah (5 Replies)
Discussion started by: f_o_555
5 Replies
3. UNIX for Dummies Questions & Answers
Hi all,
is there a simple way to obtain the line number of the i-th occurrence of a pattern?
I have
OCCURRENCE=`grep -io "${STRING_NAME}" ${1}-${8}${EXT}.out_bis| wc -l`
which tells me how many occurency I have. I would like to go through them and determine the line number and assign... (6 Replies)
Discussion started by: f_o_555
6 Replies
4. UNIX for Dummies Questions & Answers
Hi all,
is there a way to find the occurrence of two strings in a line of a file?
e.g. I have
XXXX yyyyy zzzz 111
XXXX yyyyy zzzz 222
XXXX yyyyy zzzz 333
XXXX yyyyy zzzz 444
and want to find in one shot
XXXX yyyyy zzzz 222
Thank you,... (9 Replies)
Discussion started by: f_o_555
9 Replies
5. Shell Programming and Scripting
Hi,
I try to gather several line in one based on the first column.
For exemple :
toto;1;2;3
toto;4;5;6
toto;7;8;9
etc... (Number of lines not predefined)
ruru;a;b;c
ruru;d;e;f
ruru;g;h;i
...
I'm trying to get :
toto;1;2;3;4;5;6;7;8;9...
ruru;a;b;c;d;e;f;g;h;i...Thank you. (2 Replies)
Discussion started by: xanthos
2 Replies
6. Shell Programming and Scripting
Hi
I have the following file
ENST001 ENST002 4 4 4 88 9 9
ENST004 3 3 3 99 8 8
ENST009 ENST010 ENST006 8 8 8 77 8 8
Basically I want to count how many times ENST* is repeated in each line so the expected results is
2
1
3
Any suggestion please ? (4 Replies)
Discussion started by: fuad_
4 Replies
7. Shell Programming and Scripting
Hello All,
I want to check if a delimiter is existing twice in a line of a text file.
Suppose flat file is like this
234 | 123
123 | 345
456 | 563 |
234 | 548
So the the 3rd line has two delimiters,
How can we find the lines in such a file having more then one delimiters
I tried... (5 Replies)
Discussion started by: nnani
5 Replies
8. Shell Programming and Scripting
Hello everyone,
I am manipulating a large CSV file and am trying to read it into a program and started running into trouble. The have manually edited the file trying to make it correctly run through the program and have made progress. However, I am know stuck with an issue involving too many... (3 Replies)
Discussion started by: tastybrownies
3 Replies
9. AIX
Hi All,
I have a requirement to replace consecutive occurence of same string nedd to be replaced. Below is the input and desired output.
Input:
---------
123.5|ABC|.|.|.
234.4|DEF|.|.|.|.|.|
Output:
---------
123.5|ABC|||.
234.4|DEF|||||
so basically "|.|" need to be replaced with... (9 Replies)
Discussion started by: ureddy
9 Replies
10. Shell Programming and Scripting
I am trying to use awk to extract and print the first ocurrence of NM_ and NP_ with a : before in each line. The input file is tab-delimeted, but the output does not need to be. The below does execute but prints all the lines in the file not just the patterns. Thank you :).
file tab-delimeted
... (2 Replies)
Discussion started by: cmccabe
2 Replies
LEARN ABOUT MOJAVE
strtok
STRTOK(3) BSD Library Functions Manual STRTOK(3)
NAME
strtok, strtok_r -- string tokens
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <string.h>
char *
strtok(char *restrict str, const char *restrict sep);
char *
strtok_r(char *restrict str, const char *restrict sep, char **restrict lasts);
DESCRIPTION
This interface is obsoleted by strsep(3).
The strtok() function is used to isolate sequential tokens in a null-terminated string, str. These tokens are separated in the string by at
least one of the characters in sep. The first time that strtok() is called, str should be specified; subsequent calls, wishing to obtain
further tokens from the same string, should pass a null pointer instead. The separator string, sep, must be supplied each time, and may
change between calls.
The implementation will behave as if no library function calls strtok().
The strtok_r() function is a reentrant version of strtok(). The context pointer last must be provided on each call. The strtok_r() function
may also be used to nest two parsing loops within one another, as long as separate context pointers are used.
The strtok() and strtok_r() functions return a pointer to the beginning of each subsequent token in the string, after replacing the token
itself with a NUL character. When no more tokens remain, a null pointer is returned.
EXAMPLES
The following uses strtok_r() to parse two strings using separate contexts:
char test[80], blah[80];
char *sep = "\/:;=-";
char *word, *phrase, *brkt, *brkb;
strcpy(test, "This;is.a:test:of=the/string\tokenizer-function.");
for (word = strtok_r(test, sep, &brkt);
word;
word = strtok_r(NULL, sep, &brkt))
{
strcpy(blah, "blah:blat:blab:blag");
for (phrase = strtok_r(blah, sep, &brkb);
phrase;
phrase = strtok_r(NULL, sep, &brkb))
{
printf("So far we're at %s:%s
", word, phrase);
}
}
SEE ALSO
memchr(3), strchr(3), strcspn(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wcstok(3)
STANDARDS
The strtok() function conforms to ISO/IEC 9899:1990 (``ISO C90'').
AUTHORS
Wes Peters, Softweyr LLC: <wes@softweyr.com>
Based on the FreeBSD 3.0 implementation.
BUGS
The System V strtok(), if handed a string containing only delimiter characters, will not alter the next starting point, so that a call to
strtok() with a different (or empty) delimiter string may return a non-NULL value. Since this implementation always alters the next starting
point, such a sequence of calls would always return NULL.
BSD
November 27, 1998 BSD