The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
How to check whether a string is number or not shihabvk Shell Programming and Scripting 12 04-27-2009 11:29 PM
count the number of files which have a search string, but counting the file only once sudheshnaiyer UNIX for Dummies Questions & Answers 1 08-11-2007 01:50 PM
How to search a string in a file. prathap UNIX for Dummies Questions & Answers 1 07-17-2007 02:41 AM
appending string to text file based on search string malaymaru Shell Programming and Scripting 1 06-09-2006 08:53 AM
please help me to search string in a file ...... swamymns Shell Programming and Scripting 2 02-01-2006 12:20 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-22-2007
knshree knshree is offline
Registered User
  
 

Join Date: Aug 2007
Posts: 4
how to search string and number in one file and check in the other file

Hi,
Can anyone help in the below problem.
file1 has the below contents

fileset 999 primary-ilist inode 37020 has invalid dotdot (426094) -> Not exist
fileset 999 primary-ilist inode 115016 dup block -> /export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgnome-l10nmessages-ptBR/archive
fileset 999 primary-ilist inode 116366 dup block -> /export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgscr/archive
fileset 999 primary-ilist inode 115016 dup block -> /export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgnome-libs/reloc/lib/libglade
fileset 999 primary-ilist inode 116366 dup block ->
fileset 999 primary-ilist inode 116387 dup block
fileset 999 primary-ilist inode 116400 dup block
fileset 999 primary-ilist inode 116435 dup block
fileset 999 primary-ilist inode 116441 dup block
fileset 999 primary-ilist inode 116510 dup block
fileset 999 primary-ilist inode 116521 dup block
fileset 999 primary-ilist inode 116570 dup block
fileset 999 primary-ilist inode 116614 dup block
fileset 999 primary-ilist inode 116616 dup block
fileset 999 primary-ilist inode 29275 dup block
fileset 999 primary-ilist inode 30193 dup block
fileset 999 primary-ilist inode 30318 dup block
fileset 999 primary-ilist inode 30321 dup block
fileset 999 primary-ilist inode 30334 dup block
fileset 999 primary-ilist inode 30336 dup block
fileset 999 primary-ilist inode 30340 dup block
fileset 999 primary-ilist inode 30343 dup block
fileset 999 primary-ilist inode 30344 dup block
fileset 999 primary-ilist inode 30346 dup block
fileset 999 primary-ilist inode 30907 dup block
fileset 999 primary-ilist inode 31026 dup block
fileset 999 primary-ilist inode 31028 dup block
fileset 999 primary-ilist inode 31032 dup block
fileset 999 primary-ilist inode 31035 dup block
fileset 999 primary-ilist inode 31037 dup block
fileset 999 primary-ilist inode 31040 dup block
fileset 999 primary-ilist inode 31041 dup block
fileset 999 primary-ilist inode 31042 dup block
fileset 999 primary-ilist inode 31044 dup block
fileset 999 primary-ilist inode 31045 dup block
fileset 999 primary-ilist inode 31050 dup block
fileset 999 primary-ilist inode 31068 dup block
fileset 999 primary-ilist inode 31180 dup block
fileset 999 primary-ilist inode 31479 dup block
fileset 999 primary-ilist inode 31538 dup block
fileset 999 primary-ilist inode 31558 dup block
fileset 999 primary-ilist inode 31622 dup block

file2 has the below contents
/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgpch:
total 70
81524 drwxrwxr-x 5 root staff 1024 Jun 29 2004 .
79918 drwxr-xr-x 1098 root bin 32768 Dec 6 2005 ..
81525 drwxr-xr-x 2 root staff 96 Jun 29 2004 archive
116357 drwxr-xr-x 2 root staff 96 Jun 29 2004 install
116361 -rw-r--r-- 1 root staff 460 Jun 29 2004 pkginfo
116362 -rw-r--r-- 1 root staff 225 Jun 29 2004 pkgmap
116363 drwxr-xr-x 3 root staff 96 Jun 29 2004 reloc

/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgpch/archive:
total 88
81525 drwxr-xr-x 2 root staff 96 Jun 29 2004 .
81524 drwxrwxr-x 5 root staff 1024 Jun 29 2004 ..
116356 -rw-r--r-- 1 root staff 43670 Mar 2 2002 none.bz2

/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgpch/install:
total 12
116357 drwxr-xr-x 2 root staff 96 Jun 29 2004 .
81524 drwxrwxr-x 5 root staff 1024 Jun 29 2004 ..
116358 -rw-r--r-- 1 root staff 798 Jan 10 2002 copyright
116359 -rw-r--r-- 1 root staff 875 Mar 2 2002 depend
116360 -rw-r--r-- 1 root staff 2245 Mar 2 2002 i.none
/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgsdhx/archive:
total 50
86697 drwxr-xr-x 2 root staff 96 Jun 29 2004 .
86696 drwxrwxr-x 5 root staff 1024 Jun 29 2004 ..
86698 -rw-r--r-- 1 root staff 24419 Apr 18 2002 none.bz2

/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgsdhx/install:
total 12
86699 drwxr-xr-x 2 root staff 96 Jun 29 2004 .
86696 drwxrwxr-x 5 root staff 1024 Jun 29 2004 ..
86700 -rw-r--r-- 1 root staff 93 Apr 7 2002 copyright
86701 -rw-r--r-- 1 root staff 724 Apr 6 2002 depend
86702 -rw-r--r-- 1 root staff 2245 Apr 18 2002 i.none

I have to check '37020' from file1 and check exist in file2, if it exists print the file path
how to do this????????
  #2 (permalink)  
Old 08-22-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registered User
  
 

Join Date: Apr 2004
Location: Bordeaux, France
Posts: 1,416
The following script searches in file2 the inode “Not exist” of file1 :
Code:
awk '
NR==FNR && /Not exist/ {
   Files[$5] = $0;
   next;
}
/:$/ {
   Path = substr($0, 1, length-1);
   next;
}
NF==10 {
   if ($1 in Files) {
      sub(/->.*/, "", Files[$1])
      print Files[$1] "-> " Path "/" $10;
      delete Files[$1];
   }
}
END {
   for (inode in Files) {
      print Files[inode];
   }
} ' file1 file2
I had the following record to file1:
Code:
fileset 999 primary-ilist inode 116358 has invalid dotdot (426094) -> Not exist
And the result is:
Code:
fileset 999 primary-ilist inode 116358 has invalid dotdot (426094) -> /export/jumpstart/solaris9_image/Solaris_9/Product/SUNWgpch/in
stall/copyright
fileset 999 primary-ilist inode 37020 has invalid dotdot (426094) -> Not exist
Jean-Pierre.
  #3 (permalink)  
Old 08-23-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registered User
  
 

Join Date: Apr 2004
Location: Bordeaux, France
Posts: 1,416
Quote:
Originally Posted by knshree in private message
Hi,
Thanks for the reply.
I am new to scripting.
I have the file1.log with below contents:

fileset 999 primary-ilist inode 37020 has invalid dotdot (426094)
fileset 999 primary-ilist inode 115016 dup block
fileset 999 primary-ilist inode 116614 dup block
fileset 999 primary-ilist inode 116616 dup block

file2.log has below contents

/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWimagick/archive:
total 3926
81691 drwxr-xr-x 2 root staff 96 Jun 29 2004 .
81690 drwxrwxr-x 5 root staff 1024 Jun 29 2004 ..
116610 -rw-r--r-- 1 root staff 2008248 Apr 27 2004 none.bz2

/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWimagick/install:
total 18
116611 drwxr-xr-x 2 root staff 96 Jun 29 2004 .
81690 drwxrwxr-x 5 root staff 1024 Jun 29 2004 ..
116612 -rw-r--r-- 1 root staff 2116 Apr 21 2004 copyright
116613 -rw-r--r-- 1 root staff 1300 Apr 21 2004 depend
116614 -rw-r--r-- 1 root staff 2245 Apr 27 2004 i.none

/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWimagick/reloc:
total 2
116617 drwxr-xr-x 3 root staff 96 Jun 29 2004 .
81690 drwxrwxr-x 5 root staff 1024 Jun 29 2004 ..
116618 drwxr-xr-x 3 root staff 96 Jun 29 2004 usr

below are the steps and needs scripting

I have to read 30720 in file1
search 30720 in file2
print 'Not exist'

I have to read next 115016 in file1
search 115016 in file2
print 'not exist'

I have to read next 116366 in file1
search 116366 in file2
print 'not exist'

..........

I have to read 116614 in file1
search 116614 in file2
if it exists (print the following)
print '/export/jumpstart/solaris9_image/Solaris_9/Product/SUNWimagick/install'

please help me how to do in a scripting.

thanks
Try and adapt the following script :
Code:
awk '

# First file
NR==FNR {
   if (/:$/)
      Paths[++PathsCount] = substr($0, 1, length-1);
   else if (NF==10)
      Inodes[$1] = PathsCount;
   next;
}

# Other files

NF>1 {
   if ($5 in Inodes)
      path = Paths[Inodes[$5]]
   else
      path = "Not exist";
   print $0,"->",path;
}

' file2.log file1.log
With your sample datas posted, the result is :
Code:
fileset 999 primary-ilist inode 37020 has invalid dotdot (426094) -> Not exist
fileset 999 primary-ilist inode 115016 dup block -> Not exist
fileset 999 primary-ilist inode 116614 dup block -> /export/jumpstart/solaris9_image/Solaris_9/Product/SUNWimagick/install
fileset 999 primary-ilist inode 116616 dup block -> Not exist
  #4 (permalink)  
Old 08-23-2007
knshree knshree is offline
Registered User
  
 

Join Date: Aug 2007
Posts: 4
#!/bin/sh/

awk '

# First file
NR==FNR {
if (/:$/)
Paths[++PathsCount] = substr($0, 1, length-1);
else if (NF==10)
Inodes[$1] = PathsCount;
next;
}

# Other files

NF>1 {
if ($5 in Inodes)
path = Paths[Inodes[$5]]
else
path = "Not exist";
print $0,"->",path;
}

' file2.log file1.log

when i execute this i am getting the below error: can you pl. help me in this

qpadmka >./test3.sh
awk: syntax error near line 5
awk: illegal statement near line 5
awk: syntax error near line 7
awk: illegal statement near line 7
awk: syntax error near line 15
awk: illegal statement near line 15
awk: syntax error near line 17
awk: illegal statement near line 17
  #5 (permalink)  
Old 08-23-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registered User
  
 

Join Date: Apr 2004
Location: Bordeaux, France
Posts: 1,416
Try nawk instead of awk.

Jean-Pierre.
  #6 (permalink)  
Old 08-23-2007
knshree knshree is offline
Registered User
  
 

Join Date: Aug 2007
Posts: 4
Thanks a lot it worked...........but i have one more problem came across

suppose in file1.log i have the below content:

fileset 999 primary-ilist inode 31538 dup block
fileset 999 primary-ilist inode 31558 dup block
fileset 999 primary-ilist inode 31622 dup block
fileset 999 primary-ilist inode 32785 dup block
fileset 999 primary-ilist inode 36992 dup block
fileset 999 primary-ilist inode 36994 dup block

in file2.log has the below contents:
/export/var/opt/novell/edirectory:
total 768860
33365 drwxr-xr-x 6 root root 1024 Nov 17 2006 .
65 drwxr-xr-x 3 root other 96 Sep 1 2006 ..
32793 -rw------- 1 root root 194379776 Sep 1 2006 NDO.01
32792 -rw------- 1 root root 262144 Sep 1 2006 NDO.db
32782 -rw------- 1 root root 0 Sep 1 2006 NDO.lck
32794 drwx------ 2 root root 96 Sep 1 2006 NDO.rfl
37480 drwxr-xr-x 2 root root 96 Nov 24 2005 StatLog
32791 -rw-r--r-- 1 root root 132 Nov 17 2006 _ndsdb.ini
32781 -rw-r--r-- 1 root root 403 Nov 24 2005 attributeIndex.ldif
32776 -rw-r--r-- 1 root root 13218 Nov 24 2005 attributeSchema.ldif
32779 drw------- 3 root root 96 Nov 24 2005 certserv
32785 -rw------- 1 root root 198705152 Aug 22 2007 nds.01

when a execute the script i get the output as 'not exist'

fileset 999 primary-ilist inode 32785 dup block -> Not exist

please helpme in this
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 01:07 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0