Sponsored Content
Top Forums UNIX for Beginners Questions & Answers awk script to match string and print status Post 303044183 by shanul karim on Sunday 16th of February 2020 08:53:23 AM
Old 02-16-2020
Thanks a lot RudiC

Its working fine except the reverse condition . In case we have all "LOTC cluster state" as joined (without fail status) and AMF cluster state: as all enebled and unlocked status.

Code:
LOTC cluster state:
-------------------
Node safNode=SC_2_1 joined cluster | Wed Dec 5 17:03:36 2018
Node safNode=SC_2_2 joined cluster | Wed Dec 5 17:03:36 2018
Node safNode=PL_2_3 joined cluster | Wed Dec 5 17:04:34 2018

AMF cluster state:
------------------
saAmfNodeAdminState."safAmfNode=SC-1,safAmfCluster=myAmfCluster": Unlocked
saAmfNodeOperState."safAmfNode=SC-1,safAmfCluster=myAmfCluster": Enabled
saAmfNodeAdminState."safAmfNode=SC-2,safAmfCluster=myAmfCluster": locked
saAmfNodeOperState."safAmfNode=SC-1,safAmfCluster=myAmfCluster": Enabled

Here output should be

Code:
LOTC cluster
LOTC cluster state is ok
AMF cluster
AMF cluster state: is ok

instead which is coming as below
Code:
LOTC cluster
AMF cluster
LOTC cluster state is not ok
AMF cluster state: is not ok

--- Post updated at 09:53 AM ---

Dear RuDC,

Changed the code but still need improvement in AMF part.

Code:
$ awk '
>
> /cluster state:/        {print $1, $2
>                          OK[$1] = 1
>                          getline
>                          next
>                         }
>
> /Node/ && OK["LOTC"]    {if ($3 != "joined")    {print "LOTC cluster state is not ok"
>                                                  OK["LOTC"] = 0
>                                                 } else {print "LOTC cluster state is ok"
>                                                  OK["LOTC"] = 0
>                                                 }
>                         }
> OK["AMF"]               {if ("UNLOCKED ENABLED" !~ toupper($NF))        {print "AMF cluster state: is not ok"
>                                                                          OK["AMF"] = 0
>                                                                         } else {print "AMF cluster state is ok"
>                                                  OK["AMF"] = 0
>                                                 }
>                         }
> ' sample.txt
LOTC cluster
LOTC cluster state is ok
AMF cluster
AMF cluster state: is not ok

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to print exit status in AWK

Hi all, How can I print the exit status in AWK? echo $? doesnt work for me Thanks (4 Replies)
Discussion started by: Pauline mugisha
4 Replies

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

3. Shell Programming and Scripting

awk to print lines based on string match on another line and condition

Hi folks, I have a text file that I need to parse, and I cant figure it out. The source is a report breaking down softwares from various companies with some basic info about them (see source snippet below). Ultimately what I want is an excel sheet with only Adobe and Microsoft software name and... (5 Replies)
Discussion started by: rowie718
5 Replies

4. Shell Programming and Scripting

How to print everything after a string match

Hi all, I'm trying to do some work on the authorized_keys file to do a check if there's any information after the hash key.. At the end of the hash key's in the file, there can be an = or == Is there a way to check if anything exists after these equals and if so print it out or else print... (2 Replies)
Discussion started by: Jazmania
2 Replies

5. Shell Programming and Scripting

Print lines that match regex on xth string

Hello, I need an awk command to print only the lines that match regex on xth field from file. For example if I use this command awk -F"|" ' $22 == "20130117090000.*" 'It wont work, I think, because single quotes wont allow the usage of the metacharacter star * . On the other hand I dont know... (2 Replies)
Discussion started by: black_fender
2 Replies

6. Shell Programming and Scripting

Print string after the word match

Hi, I have the logs : cat logsx.txt 744906,{"reportingGroups":,"version":"2.0"} 678874,{"reportingGroups":,"version":"2.0"} 193571,{"reportingGroups":,"version":"2.0"} 811537,{"reportingGroups":,"version":"2.0"} 772024,{"reportingGroups":,"version":"2.0"}... (5 Replies)
Discussion started by: justbow
5 Replies

7. Shell Programming and Scripting

awk script to match and print

I need a script that will search for a string from column 1 in file A and when the string matches the last column in file B, print columns 1, 2 (file A) and columns 2, 3 (file B). input file A stringtomatch1 a stringtomatch2 a stringtomatch3 b file B junkcolumn1 printcolumn2... (4 Replies)
Discussion started by: ncwxpanther
4 Replies

8. Shell Programming and Scripting

Match string from two files and print line

Hi, I have been trying to find help with my issue and I'm thinking awk may be able to do it. I have two files eg file1.txt STRING1 230 400 0.36 STRING2 400 230 -0.13 STRING3 130 349 1 file2.txt CUFFFLINKS 1 1394 93932 . + STRING1 CUFFFLINKS ... (9 Replies)
Discussion started by: zward
9 Replies

9. Shell Programming and Scripting

awk to print match or non-match and select fields/patterns for non-matches

In the awk below I am trying to output those lines that Match between file1 and file2, those Missing in file1, and those missing in file2. Using each $1,$2,$4,$5 value as a key to match on, that is if those 4 fields are found in both files the match, but if those 4 fields are not found then missing... (0 Replies)
Discussion started by: cmccabe
0 Replies

10. 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
scversions(1M)						  System Administration Commands					    scversions(1M)

NAME
scversions - Sun Cluster version management SYNOPSIS
scversions [-c] DESCRIPTION
Note - Beginning with the Sun Cluster 3.2 release, Sun Cluster software includes an object-oriented command set. Although Sun Cluster software still supports the original command set, Sun Cluster procedural documentation uses only the object-oriented command set. For more infor- mation about the object-oriented command set, see the Intro(1CL) man page. The scversions command commits the cluster to a new level of functionality after a rolling-upgrade to new Sun Cluster software. With no arguments, the scversions command prints a message indicating whether a commitment is needed. OPERANDS
The following operands are supported: -c Commit the set of nodes that are currently active members of the cluster to the highest possible level of functionality. When you upgrade a node (either through upgrade to a new release of the product or by application of a patch) and boot it back into the cluster, some of the internal protocols on that node might have to run at lower versions in order to cooperate cor- rectly with other nodes in the cluster. When the cluster is in this state, some administrative actions might be disabled and some new functionality introduced in the upgrade might be unavailable. When you run this command once from any node after all nodes are upgraded, the cluster switches to the highest versions of internal protocols possible. Assuming that all nodes have the same Sun Cluster software installed at that time, all new func- tionality becomes available and any administrative restrictions are removed. If a node that has not been upgraded is an active member of the cluster at the time you run the -c option to scversions, the command has no effect because the cluster is already running at the highest possible level of functionality. If a node has not been upgraded and is not an active member of the cluster when you run the -c option to scversions (for exam- ple, if that node is down for maintenance), the internal protocols of the cluster are upgraded to the highest possible ver- sions. You might have to upgrade the node that was not an active member of the cluster to enable it to rejoin the cluster. EXIT STATUS
0 Success non-zero Failure ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWsczu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
scinstall(1M) Sun Cluster 3.2 17 Aug 2007 scversions(1M)
All times are GMT -4. The time now is 03:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy