Search and match the value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Search and match the value
# 1  
Old 09-10-2014
Search and match the value

Hi ,

I have to match the table column via shell script ,where col name is value,like if table's column value is N then proceed to next main script.if not then exit with Some message.'not validated'

Table o/p comes like this way.where value is column name.

Code:
VALUE
-------
 N
(1 row)


Last edited by Scrutinizer; 09-10-2014 at 03:29 PM.. Reason: icode tags -> code tags plus additional code tags for data samples......
# 2  
Old 09-10-2014
I'm sure this is doable in bash alone, but I'm feeling dumb. So, here's a effort that also uses awk

Code:
output=`awk 'NR == 1 {for (i = 1 ; i <= NF ; i++) {if ($i == "VALUE") {colnum = i ; next}}} NR == 3 && colnum == "N" {stat = "V"} NR == 3 && colnum != "N" {stat = "NV"} END {print stat}' inputfile`

if [ "$output" == "NV" ]
then
   echo "Not validated"
   exit 1
fi

<rest of script>

I'm making all sorts of assumptions there, but maybe that's a starting point.
# 3  
Old 09-10-2014
You can use an awk one liner for this. If the table data comes from a file:

Code:
awk 'NR==3{gsub(/[[:space:]]/,"");RC=($0=="43")?0:1};END{if (RC>0) print "Not validated.";exit RC}' tablefile

# 4  
Old 09-11-2014
Thanks!

I tried this ,but looks like I'm missing something.For all run I 'm getting NO.Please help

Aim: check the value in file value.out (above stated).if value is N then go and start main script (here i kept echo yes).if not N i.e Y then start another script.(here i kept echo no ) for test.
Code:
#!/bin/bash
x=`sed -n '3p' value.out`
        S1='N'
        S2='Y'
        if [ "$x" == "$S1" ];
        then
echo yes
else echo No              
fi


Last edited by netdbaind; 09-11-2014 at 08:42 AM..
# 5  
Old 09-11-2014
Try
Code:
{ read A; read A; read A; } <value.out; [ "$A" = "N" ] && echo yes || echo no

# 6  
Old 09-11-2014
Bug

Quote:
Originally Posted by netdbaind
I tried this ,but looks like I'm missing something.
Yes. The "problem" is that the (correct) result of the sed command is actually N, notice the preceding whitespace. So right now you are comparing " N" and "N" and thus the result is No.

Solution: Remove that leading whitespace and try again. There are many ways to perform that, I prefer this:
Code:
x=`sed -n '3p' value.out | sed 's/^ //'`

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search file containing ps results for a match "my.cnf" and then for a second match . "ok:" and

I need to find two matches in the output from ps. I am searching with ps -ef |grep mysql for: my.cnf /bin/sh /usr/bin/mysqld_safe --defaults-file=/data/mysql/master/agis_core/etc/my.cnf after this match I want to search back and match the hostname which is x number of lines back, above the... (2 Replies)
Discussion started by: bash_in_my_head
2 Replies

2. Shell Programming and Scripting

Help search and replace the last occurance of match in a file

Hi I want to replace only the last occurance of "union all" in input file with ";" I tried with sed 's/union all/;/g' in my input file, it replaced in all lines of input file Eg: select column1,column2 from test1 group by 2 union all select column1,column2 from test2 group by 2 union all ... (9 Replies)
Discussion started by: antosr7
9 Replies

3. Shell Programming and Scripting

Search from 1st match and end 2nd match

I've been looking through the forums for awhile now and looking at the man page for grep and egrep and not seeming to find this scenario so it might not be possible but figured I'd throw it out to get some ideas. I'm looking for a way to search a file for 1st match (example below net self) and... (3 Replies)
Discussion started by: djzah
3 Replies

4. Shell Programming and Scripting

search a regular expression and match in two (or more files) using bash

Dear all, I have a specific problem that I don't quite understand how to solve. I have two files, both of the same format: XXXXXX_FIND1 bla bla bla bla bla bla bla bla bla bla bla bla ======== (return) XXXXXX_FIND2 bla bla bla bla bla bla (10 Replies)
Discussion started by: TheTransporter
10 Replies

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

6. Shell Programming and Scripting

search and replace the last occurance of a match in a file

HI please let me know if there is any command to search and replace only the last occurence of a string in aline. Eg: " This cat is a cat with a tail longer of all cat." I need to replace only the last "cat" in the above line. thanks (3 Replies)
Discussion started by: harikris614
3 Replies

7. Shell Programming and Scripting

search files which doesnot match pattern ?

Hi I need a command to search files in a directory which does not match with pattern .. Plz send me this Ex : Test is directory and has some 10 files with different name all are with *.dat extension , need to search files which doesnot contain word "Dummy file". Thanks (6 Replies)
Discussion started by: madankumar
6 Replies

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

9. UNIX for Dummies Questions & Answers

List files that do not match the search pattern

I need to list the files that do not match the search pattern: Example: cat file1 This is how it should work cat file2 This is why I like Unix grep -option? Unix * (or some other command) returns file1 (7 Replies)
Discussion started by: olapxpert
7 Replies

10. IP Networking

List files that do not match the search pattern

I need to list the files that do not match the search pattern: Example: cat file1 This is how it should work cat file2 This is why I like Unix grep -option? Unix * (or some other command) returns file1 (1 Reply)
Discussion started by: olapxpert
1 Replies
Login or Register to Ask a Question