Sponsored Content
Top Forums Shell Programming and Scripting How to recursively search for a list of keywords in a given directory? Post 302640827 by alister on Tuesday 15th of May 2012 10:48:41 AM
Old 05-15-2012
Whenever you need to traverse the a filesystem but the command does not support -R/r, think find(1).
Code:
find target/dir -type f -exec grep -iFf procnamelist /dev/null {} \;

If your find is compliant with the POSIX 2004 edition or later, use + to increase efficiency:
Code:
find target/dir -type f -exec grep -iFf procnamelist /dev/null {} +



Quote:
Originally Posted by glev2005
Code:
cat procnamelist|while read line;do fgrep -Rif $line target/dir/*;done

That would have failed even if -[r|R] were supported. A line from procnamelist, which is a pattern to match, is treated as a filename argument to -f. If you put procnamelist where it belongs, after -f, the pipe and while loop serve no purpose.


Quote:
Originally Posted by pamu
Code:
while true
do
while read line
do
cat file | grep "$line" 
done<procnamelist
done

The sole reason for the existence of this thread is file system traversal. This proposal is an infinite loop that reads one file over and over and over and ...

Regards,
Alister

Last edited by alister; 05-15-2012 at 11:56 AM..
 

9 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

How to search for keywords in subsequent lines

Hi all, I am looking for a coomand to search for the keywords in susequenct lines. Keyword1 in a line and Keyword2 in the very next line. Once i found the combination ineed to print the lines with patterns and the line above and one below. I am giving an example here: Keywords are :ERROR and... (12 Replies)
Discussion started by: rdhanek
12 Replies

3. UNIX for Dummies Questions & Answers

Linux shortcutkey to search specific file from a list of directory?!

Hi, I'm the new user of linux/unix. Can I ask that anybody know how to use the linux/unix shortcut key to search a specific file from a list of directory? For example, I know the file name that I want to search. But I forget which directory or location is my desired file put.Got any shortcut... (7 Replies)
Discussion started by: patrick87
7 Replies

4. Shell Programming and Scripting

Search a file with keywords

Hi All I have a file of format asdf asf first sec endi asdk rt 123 ferf dfg ijglkp (7 Replies)
Discussion started by: mailabdulbari
7 Replies

5. UNIX for Advanced & Expert Users

Need to search for keywords within files modified at a certain time

I have a huge list of files in an Unix directory (around 10000 files). I need to be able to search for a certain keyword only within files that are modified between certain date and time, say for e.g 2012-08-20 12:30 to 2012-08-20 12:40 Can someone let me know what would be the fastest way... (10 Replies)
Discussion started by: virtual123
10 Replies

6. Shell Programming and Scripting

search between keywords and make a single line

have a very big file where need to format it like below example file: abcd today is great day; search keyword 'abcd' and append to it all words till we reach ; to make it a single line. output should look like. abcd today is great day; There are many occurrence of such... (2 Replies)
Discussion started by: giri4332
2 Replies

7. Shell Programming and Scripting

Perl - use search keywords from array and search a file and print 3rd field when matched

Hi , I have been trying to write a perl script to do this job. But i am not able to achieve the desired result. Below is my code. my $current_value=12345; my @users=("bob","ben","tom","harry"); open DBLIST,"<","/var/tmp/DBinfo"; my @input = <DBLIST>; foreach (@users) { my... (11 Replies)
Discussion started by: chidori
11 Replies

8. Shell Programming and Scripting

Search files in directory for keywords using bash

I have ~100 text files in a directory that I am trying to parse and output to a new file. I am looking for the words chr,start,stop,ref,alt in each of the files. Those fields should appear somewhere in those files. The first two fields of each new set of rows is also printed. Since this is on a... (7 Replies)
Discussion started by: cmccabe
7 Replies

9. UNIX for Beginners Questions & Answers

Search strings from a file in files in a directory recursively; then print the string with a status

Hi All, I hope somebody would be able to help me. I would need to search a string coming from a file, example file.txt: dog cat goat horse fish For every string, I would need to know if there are any files inside a directory(recursively) that contains the string regardless of case.... (9 Replies)
Discussion started by: kokoro
9 Replies
CRASHWRITE(1)							     CrashMail							     CRASHWRITE(1)

NAME
crashwrite - Creates PKT file from text file SYNOPSIS
crashwrite DIR directory [FROMNAME string] [FROMADDR node] [TONAME string] [TOADDR node] [SUBJECT string] [AREA area] [ORIGIN origin] [TEXT filename] [NOMSGID] [FILEATTACH] [PKTFROMADDR node] [PKTTOADDR node] PASSWORD [string] DESCRIPTION
CrashWrite reads a text file and creates a .pkt file that can be processed by CrashMail. This can be used to post announcements and other messages in areas. The best way to use CrashWrite is to let it generate packets in a separate directory and then toss them with TOSSDIR NOSECURITY. There are many keywords for CrashWrite. All keywords are optional except for DIRECTORY. If you do not enter a keyword, a default value will be used. OPTIONS
FROMNAME string FROMADDR node TONAME string TOADDR node SUBJECT string Use these keywords to set the header of the message. You only need to enter TONAME and TOADDR for netmails. PKTFROMADDR node PKTTOADDR node Use these if you want to set the origin and destination address of the packet to something other than the origin and destination address of the message inside the packet. If you do not specify these keywords, FROMADDR and TOADDR will be used for the packet as well. PASSWORD string You can use this keyword to set a password for the packet. The maximum length of the password is eight characters. AREA area The area the message should be posted in. If you do not enter an area, the message will be sent as a netmail. ORIGIN origin The origin line for the message. This keyword has no effect for netmail messages. DIR directory The directory where the packet should be placed. TEXT filename The name of a text file that should be included as the message text. NOMSGID Prevents CrashWrite from adding a MSGID line. FILEATTACH Sets the file-attach flag for netmails. The filename should be put in the subject line. SEE ALSO
crashmail(1) AUTHOR
CrashMail is written by Johan Billing <billing@df.lth.se> This manual page was written by Peter Karlsson <peter@softwolves.pp.se> Johan Billing 1999-08-01 CRASHWRITE(1)
All times are GMT -4. The time now is 11:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy