Visit Our UNIX and Linux User Community


want to search for the words in the files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting want to search for the words in the files
# 1  
Old 08-06-2009
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

Words to be searched: com.ibm.rational.clearcase.common.feature
Words to be searched: com.ibm.rational.clearcase.dotnet.feature
Words to be searched: com.ibm.rational.clearcase.multisite
Words to be searched: com.ibm.rational.clearcase.mvfs
Words to be searched: com.ibm.rational.clearcase.standalone.feature
Words to be searched: com.ibm.rational.clearcase.top
Words to be searched: com.ibm.rational.clearcase.zOS
Words to be searched: com.ibm.rational.cmlibrary
Words to be searched: com.ibm.rational.cmserver
Words to be searched: com.ibm.rational.teamapi.feature
Words to be searched: com.ibm.rational.tslogger

************************************************

The path to directories:-

The Path is: /home/administrator/testfix/install/cq.offering/com.ibm.rational.cl
earquest.ec.assembly
The Path is: /home/administrator/testfix/install/cq.offering/com.ibm.rational.cl
earquest.iehs.assembly
The Path is: /home/administrator/testfix/install/pjc.offering/com.ibm.rational.p
jc.main.assembly
The Path is: /home/administrator/testfix/install/reqpro.offering/com.ibm.rationa
l.reqpro.main.assembly
The Path is: /home/administrator/testfix/install/rls.offering/com.ibm.rational.l
icense.server.assembly.assembly
The Path is: /home/administrator/testfix/install/robot.offering/com.ibm.rational
.robot.main.assembly.assembly
The Path is: /home/administrator/testfix/install/soda.offering/com.ibm.rational.
soda.assembly
The Path is: /home/administrator/testfix/install/tm.offering/com.ibm.rational.te
stmanagermain.assembly

*****************************************************
The script is :-


Code:
#!/bin/sh

ECHO=/bin/echo
CAT=/bin/cat
LS=/bin/ls
AWK=/bin/awk
GREP=/bin/grep

FIX_XML_PATH=/home/administrator/testfix/fix
FIX_FILE=`$LS $FIX_XML_PATH | $GREP xml`
OFFERING_FILE_PATH=/home/administrator/testfix/install/*.offering
OFFERING_FILE=`$LS $OFFERING_FILE_PATH | $GREP assembly`

Y=`$CAT $FIX_XML_PATH/$FIX_FILE | $GREP id | $AWK '{if($2 ~ /id=/) print $2}' |
awk -F"'" '$1 == "id=" {print $2}'`

for i in $Y
do
$ECHO "Words to be searched:"  $i
done

for z in $OFFERING_FILE
do
$ECHO "The Path is:" $OFFERING_FILE_PATH/$z
done


Last edited by asirohi; 08-06-2009 at 03:52 PM..
# 2  
Old 08-06-2009
Can you please edit your post to use code tags? It's pretty hard to read. Thx
# 3  
Old 08-06-2009
Code:
find $OFFERING_FILE_PATH/$z -exec grep -l $i {} \;

# 4  
Old 08-06-2009
Hi Peterro,

I tried what you said but did not work. I want all the string marked in red in all the directories one by one and only if the red string is present in more then one directory then print those directories and the string.
how do i do that?

Thanks
Aditya
# 5  
Old 08-06-2009
The -l switch to grep give the location of the file that has the match and not the matches themselves. Adjust as necessary.

Code:
for i in $Y
do
  $ECHO "Words to be searched:" $i
  for z in $OFFERING_FILE
  do
    $ECHO "The Path is:" $OFFERING_FILE_PATH/$z
    find $OFFERING_FILE_PATH/$z -exec grep -l $i {} \;
  done
done

# 6  
Old 08-06-2009
Hi Peterro,

I have a problem here, the output not come like this, which is not correct as for example string "CCRCWebServerINSTALLDIR" only apprears in com.ibm.rational.clearcase.assembly.assembly, but is shows its appearing in so many directories?

What changes should be made to the logic?

Thanks
Adi

Code:
Words to be searched: CCRCWebServerINSTALLDIR
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.assembly.assembly
/home/administrator/testfix/install/cc.offering/com.ibm.
rational.clearcase.assembly.assembly
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.iehs.assembly
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.rc.assembly /home/admini
strator/testfix/install/ccrc.offering/com.ibm.rational.c
learcase.rc.assembly
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.rc.assembly /home/admini
strator/testfix/install/ccrc.offering/com.ibm.rational.c
learcase.rc.assembly
The Path is: /home/administrator/testfix/install/ccrc.of
fering/com.ibm.rational.clearcase.rc.main.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.designer.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.ec.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.iehs.assembly
The Path is: /home/administrator/testfix/install/pjc.off
ering/com.ibm.rational.pjc.main.assembly
The Path is: /home/administrator/testfix/install/reqpro.
offering/com.ibm.rational.reqpro.main.assembly
The Path is: /home/administrator/testfix/install/rls.off
ering/com.ibm.rational.license.server.assembly.assembly
The Path is: /home/administrator/testfix/install/robot.o
ffering/com.ibm.rational.robot.main.assembly.assembly
The Path is: /home/administrator/testfix/install/soda.of
fering/com.ibm.rational.soda.assembly
The Path is: /home/administrator/testfix/install/tm.offe
ring/com.ibm.rational.testmanagermain.assembly
Words to be searched: ClearCaseAdministrationTools-ent-C
INSTALLDIR
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.assembly.assembly
/home/administrator/testfix/install/cc.offering/com.ibm.
rational.clearcase.assembly.assembly
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.iehs.assembly
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.rc.assembly /home/admini
strator/testfix/install/ccrc.offering/com.ibm.rational.c
learcase.rc.assembly
The Path is: /home/administrator/testfix/install/cc.offe
ring/com.ibm.rational.clearcase.rc.assembly /home/admini
strator/testfix/install/ccrc.offering/com.ibm.rational.c
learcase.rc.assembly
The Path is: /home/administrator/testfix/install/ccrc.of
fering/com.ibm.rational.clearcase.rc.main.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.designer.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.ec.assembly
The Path is: /home/administrator/testfix/install/cq.offe
ring/com.ibm.rational.clearquest.iehs.assembly
The Path is: /home/administrator/testfix/install/pjc.off
ering/com.ibm.rational.pjc.main.assembly
The Path is: /home/administrator/testfix/install/reqpro.
offering/com.ibm.rational.reqpro.main.assembly

# 7  
Old 08-06-2009
I think you're mistaking the output of the script: "The path is...." line with the output of the find. If that is the case, comment out the "The path is:..." line.

The actual find output seems to be finding 2 files.

Previous Thread | Next Thread
Test Your Knowledge in Computers #402
Difficulty: Medium
The term 3D printing originally referred to a powder bed process employing standard and custom inkjet print heads.
True or False?

10 More Discussions You Might Find Interesting

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

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

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

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

5. Shell Programming and Scripting

Search 3 words

Hi All, I have almost 1000+ files and I want to search specific pattern. Looking forwarded your input. Pls note that need to ignore words in between /* */ Search for: "insert into xyz" (Which procedure contain all 3). Expected output: procedure test1 procedure test2 procedure test3 File... (12 Replies)
Discussion started by: susau_79
12 Replies

6. Shell Programming and Scripting

search of common words in set of files

Hi, I have a set of simple, one columned text files (in thousands). file1: a b c d file 2: b c d e and so on. There is a collection of words in another file: b d b c d e I have to find out the set of words (in each row) is present or absent in the given set of files. So, the... (4 Replies)
Discussion started by: mala
4 Replies

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

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

9. Shell Programming and Scripting

Search files that all contain 4 specific words

Hello, I want an one line command that brings me back all the files in a folder that contain 4 specific words anywhere inside them. I want to use find,xargs and grep. for example i know for one word the command would be: find . | xargs grep 'Word1' But i don't know for 4 specific words... (13 Replies)
Discussion started by: WoodenSword
13 Replies

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

Featured Tech Videos