Sponsored Content
Full Discussion: Search 3 words
Top Forums Shell Programming and Scripting Search 3 words Post 302339359 by aigles on Thursday 30th of July 2009 10:01:45 AM
Old 07-30-2009
Two solutions using awk and gawk
With awk :
Code:
awk '
{ $0 = tolower($0) }
/^[[:space:]]*procedure/ {
   check_procedure();
   procedure = ""
}
{
   procedure = procedure " " $0;
}
END {
   check_procedure();
}
function check_procedure() {
   gsub(/\/\*[^*]*\*\//, "", procedure);
   gsub(/[[:space:]]+/, " ", procedure);
   if (procedure ~/insert into xyz/) {
      split(procedure, f);
      print "procedure",f[2];
   }
}
' inputfile

With gawk :
Code:
awk -v RS=procedure '
{
   gsub(/\n/, " ");
   gsub(/\/\*[^*]*\*\//, "");
   gsub(/[[:space:]]+/, " ")
   $0 = tolower($0);
}
/insert into xyz/ {
   print "procedure",$1
}
' inputfile

Inputfile:
Code:
procedure test1
insert into xyz;
end;
procedure
test2
insert
into
xyz
end;
procedure test3
insert /* asas*/
into xyz
end;
procedure test4
inserting into xyz
end;
procedure test5
insert into abcdef
end;

Output:
Code:
procedure test1
procedure test2
procedure test3

Jean-Pierre.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

search for words in file

hi all, i would like to search in a directory. all files they were found shoul be opend and looked about a keyword. if keyword is found i want to see the name of the file. i've rtfm of find and have a command like this : find /etc -exec cat \{}\ | grep KEYWORD but don't work, and : find... (4 Replies)
Discussion started by: Agent_Orange
4 Replies

2. Shell Programming and Scripting

Search and replace words between two keywords

Hi, I have a file which contains the following : select * from test where test_id=1; select id from test1, test2 where test_id=1 and test_id=2; select * from test1, test2, test3 where test_id=4 and test2_id where in (select test2_id from test2); select id1, id2 from test ... (6 Replies)
Discussion started by: vrrajeeb
6 Replies

3. Shell Programming and Scripting

search two words in sed

I've following sed command working fine - sed '/search_pattern1/ !s/pattern1/pattern2/" file Now, I want to search two patterns - search_pattern1 and search_pattern2 . How can put these into above sed statement ? Thanks in advance. (12 Replies)
Discussion started by: ajitkumar2
12 Replies

4. UNIX for Dummies Questions & Answers

search words in different file

Hi, I have 1 - 100 file I want the list of such file which contains word 'internet' Please provide command to do this (3 Replies)
Discussion started by: kaushik02018
3 Replies

5. UNIX for Dummies Questions & Answers

how can i delete words based on search

hi, I have a doubt. how we can remove few words based on search. here im specifying my requirement with example. ALL the words should delete between two words ... those words will ends ** EX : cat infile.txt "HI",ob1**,ob2,ob3,ob4**,ob5,ob6 OUTPUT... (2 Replies)
Discussion started by: spc432
2 Replies

6. Shell Programming and Scripting

want to search for the words in the files

Hi Friends, I have been trying to write the script since morning and reached some where now. but i think i am stuck in the final step. please help I want to search the strings below in red in the be be searched in the directories below. How can i do that in my shell script. Thanks Adi ... (8 Replies)
Discussion started by: asirohi
8 Replies

7. Shell Programming and Scripting

search from a list of words

Hello, I'm trying to write a bash script that will search for words from one list that may be found in another list. Once the record is found, it will create a new text file for each word. For example, list1.txt contains the following: Dog Cat Fish List2.txt contains Dog - Buddy 14... (3 Replies)
Discussion started by: jl487
3 Replies

8. Shell Programming and Scripting

Search between two words

Hello, I try to print out with sed or awk the 21.18 between "S3 Temperature" and "GrdC" in a text file. The blanks are all real blanks no tabs. Only the two first chars from temperture are required. So the "21" i need as output. S3 Temperatur 21.18 GrdC No Alarm ... (3 Replies)
Discussion started by: felix123
3 Replies

9. Shell Programming and Scripting

Search string within a file and list common words from the line having the search string

Hi, Need your help for this scripting issue I have. I am not really good at this, so seeking your help. I have a file looking similar to this: Hello, i am human and name=ABCD. How are you? Hello, i am human and name=PQRS. I am good. Hello, i am human and name=ABCD. Good bye. Hello, i... (12 Replies)
Discussion started by: royzlife
12 Replies

10. Shell Programming and Scripting

Search words in any quote position and then change the words

hi, i need to replace all words in any quote position and then need to change the words inside the file thousand of raw. textfile data : "Ninguno","Confirma","JuicioABC" "JuicioCOMP","Recurso","JuicioABC" "JuicioDELL","Nulidad","Nosino" "Solidade","JuicioEUR","Segundo" need... (1 Reply)
Discussion started by: benjietambling
1 Replies
APROPOS(1)						    BSD General Commands Manual 						APROPOS(1)

NAME
apropos -- search the complete content of all man pages SYNOPSIS
apropos [-123456789Ccp] [-n Number of results] [-S machine] [-s section] query DESCRIPTION
The apropos utility performs a full text search over the complete content of all man pages. It uses the FTS engine of Sqlite to perform the search. The database is created with the help of makemandb(8) utility. This implementation of the apropos utility is more sophisticated than the classical version of apropos. Like modern search applications, it uses advanced techniques like stemming and term weighting to rank the matching results in decreasing order of relevance. By default apropos will only display the top 10 matches in the output. Quotes are optional for specifying multiword queries. It supports the following options: -1 Search only within section 1 manual pages. -2 Search only within section 2 manual pages. -3 Search only within section 3 manual pages. -4 Search only within section 4 manual pages. -5 Search only within section 5 manual pages. -6 Search only within section 6 manual pages. -7 Search only within section 7 manual pages. -8 Search only within section 8 manual pages. -9 Search only within section 9 manual pages. -C Do not show the context of the match. -c Do show the context of the match (default). -n Output up to the specified number of search results. The default limit is 10. -p Display all matching results and pipe them through a pager (defaulting to more(1)). -S machine Limit the search to the pages for the specified machine architecture. By default pages for all architectures are shown in the search results. -s section Restrict the search to the specified section of the manual. By default, pages from all section are shown. This option is for back- wards compatibility with the classic version of apropos, using it is equivalent to using the [123456789] options directly. FILES
/var/db/man.db The Sqlite FTS database which contains an index of the manual pages. SEE ALSO
man(1), whatis(1), makemandb(8) HISTORY
The apropos command appeared in 3.0BSD. It was rewritten in NetBSD 6.0 to support full text search using Sqlite. AUTHORS
Abhinav Upadhyay BSD
April 21, 2012 BSD
All times are GMT -4. The time now is 01:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy