Finding exact match string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Finding exact match string
# 1  
Old 06-30-2010
Finding exact match string

Hi All,

I'm writing unix script, it should find exact matching in search string. Looks simple but when i started i'm stuck to find the exact match character string.

The unix script reads the records from DB Table. The table will have values something likes these
Code:
Feed : A   Feed File name : feed_file_yyyymmdd.txt  
Feed : B   Feed file Name  : feed_file1_yymmdd.txt
Feed : C   Feed file Name  : feed_file2_yyyymmmdd.txt

For the Feed A, I have to look feed file name in "feed_file_20100630.txt", for B "feed_file1_100630.txt", for C "feed_file2_2010Jun30.txt". For the tomorrow month and Data gets changed (tomorrow is 1 Jul 2010).

After reading these values from DB, i have to find what format it has and replace with as of today's date format, look the file is exist in share folder.

I try to implement this with awk

Code:
awk ' {
/yyyymmdd/ { #case 1; next }
/yymmdd/    { #case 2; next }
#for all possible formats
}'

for the Feed B it goes to Case 1, but it suppose to go to Case 2.

If i reverse the order for the Feed A, it suppose to go to case 1, but goes to case 2.

I'm unable to achieve this using "-w" option in "grep" command.

I hope i have explained clearly.

Let me know how to resolve my problem

Last edited by radoulov; 06-30-2010 at 06:38 AM.. Reason: Please use code tags!
# 2  
Old 06-30-2010
I don't know if I understood you correctly, but can't you do it like that?
Code:
awk ' {
/_yyyymmdd/ { #case 1; next }
/_yymmdd/ { #case 2; next }
#for all possible formats
}'

# 3  
Old 06-30-2010
Actually in my example i have used "_" before for all date format. But actually some cases it is like (yyyymmdd_fee_file2.dat). In some cases it is like hh_mm_ss:yyyymmmdd also. So this wouldnt work out for my problem.

I have somehow close to my solution using the re interval option to awk. If some1 has better solution. Warm welcome for it.

echo $feed_file | awk --re-interval '
/y{3}ymmdd/ { print "yyyymmdd" }
/[^y]y{1}ymmdd/ { print "yymmdd" }
/yymmmdd/ { print "yymmmdd" }
/y{3}ymmmdd/ { print "yyyymmmdd" }
'

like this i will add complete possible cases. If any new format in feed file, i will be keep updating this script
# 4  
Old 06-30-2010
Then try:
Code:
awk ' {
/yyyymmdd/ { #case 1; next }
/[^y]yymmdd/ { #case 2; next }
#for all possible formats
}'

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to update file based on partial match in field1 and exact match in field2

I am trying to create a cronjob that will run on startup that will look at a list.txt file to see if there is a later version of a database using database.txt as the source. The matching lines are written to output. $1 in database.txt will be in list.txt as a partial match. $2 of database.txt... (2 Replies)
Discussion started by: cmccabe
2 Replies

2. Shell Programming and Scripting

Match exact String with sed command

I have a workaround to the problem i m posting, however if someone wants to look at my query and respond ... i will appreciate. This is in reference to this thread -> https://www.unix.com/shell-programming-and-scripting/267630-extract-between-two-exact-matched-strings.html I have data.txt as... (11 Replies)
Discussion started by: mohtashims
11 Replies

3. Shell Programming and Scripting

Help match the exact string

I just want to match "binutils1_test" only, and print the match line only lyang001@lyang001-OptiPlex-9010:/tmp$ cat file zbinutils1_test bbinutils1_test binutils1_test w-binutils1_test lyang001@lyang001-OptiPlex-9010:/tmp$ cat file |grep -w 'binutils1_test' ... (7 Replies)
Discussion started by: yanglei_fage
7 Replies

4. Shell Programming and Scripting

Get the exact match of the string!

Hi All, I am breaking my head in trying to get a command that will exactly match my given string. I have searched net and found few of the options - grep -F $string file grep -x $string file grep "^${string}$" file awk '/"${string}"/ {print $0}' file strangely nothing seems to... (3 Replies)
Discussion started by: dips_ag
3 Replies

5. Shell Programming and Scripting

grep regex, match exact string which includes "/" anywhere on line.

I have a file that contains the 2 following lines (from /proc/mounts) /dev/sdc1 /mnt/backup2 xfs rw,relatime,attr2,noquota 0 0 /dev/sdb1 /mnt/backup xfs rw,relatime,attr2,noquota 0 0 I need to match the string in the second column exactly so that only one result is returned, e.g. > grep... (2 Replies)
Discussion started by: jelloir
2 Replies

6. Shell Programming and Scripting

exact string match ; search and print match

I am trying to match a pattern exactly in a shell script. I have tried two methods awk '/\<mpath${CURR_MP}\>/{print $1 $2}' multipath perl -ne '/\bmpath${CURR_MP}\b/ and print' /var/tmp/multipath Both these methods require that I use the escape character. I am guessing that is why... (8 Replies)
Discussion started by: bash_in_my_head
8 Replies

7. Shell Programming and Scripting

sed to match only exact string only in all occurences

Dear Friends, Anybody knows how to match exact lines only in multilinear. Input file: apple orange orange apple apple orange Desired output: fruit orange apple fruit i used the command (1 Reply)
Discussion started by: vasanth.vadalur
1 Replies

8. Shell Programming and Scripting

Searching for exact match in a string ??

Hi I have a string of the form XY_X1998.10.500. I want to check in a script that the middle part is always 10. How to achieve this? e.g the input can be XY_X1998.20.500 OR XY_X1998.50.500 OR XY_X1998.10.500. I have to print Yes everytime the middle value is 10 and NO when the middle... (2 Replies)
Discussion started by: skyineyes
2 Replies

9. UNIX for Dummies Questions & Answers

exact string match in a word

Hi all, Is anyone able to help with the following query? I have an input file with several lines of words, e.g. "hellolaylahello" "hellohellohellolayla" I want to search for the exact string "hello" in each line and display: 2 "hellolaylahello" 3 "hellohellohellolayla" I... (11 Replies)
Discussion started by: dr_sabz
11 Replies

10. Shell Programming and Scripting

How do I search a File for a string exact match

Hi, Can you help please. I have the following comand: if ]; then l_valid_string="Y" fi The problem I am trying to solve is that my l_string = ABC and my file contains ABC ABC_EFG I only want back the value ABC exact match. (3 Replies)
Discussion started by: CAGIRL
3 Replies
Login or Register to Ask a Question