Selective printing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Selective printing
# 1  
Old 03-04-2013
Selective printing

I have the following contents in a file

Code:
---- CRITICAL: altered for /usr/bin/bin1 ---- OK: /usr/sbin/bin2  result fine ---- OK: /usr/sbin/bin3 result fine ---- CRITICAL: altered for /usr/bin/bin4 ---- OK: /usr/bin/bin5 result fine ---- OK: /usr/bin/bin6  result fine ---- CRITICAL: altered for /usr/bin/bin7

I just need to output the following with sed/awk operation on file

Code:
---- CRITICAL: altered for /usr/bin/bin1  ---- CRITICAL: altered for /usr/bin/bin4  ---- CRITICAL: altered for /usr/bin/bin7

# 2  
Old 03-04-2013
Code:
sed 's/OK: [^-]* ---- //g' file

This User Gave Thanks to balajesuri For This Post:
# 3  
Old 03-04-2013
balajesuri,

here the issue is that, if the last result contain OK, it fails
Code:
root@server [/] echo "---- OK: /usr/sbin/bin3 result fine ---- CRITICAL: altered for /usr/bin/bin4 ---- OK: /usr/bin/bin5 result fine " | sed 's/OK: [^-]* ---- //g'
---- CRITICAL: altered for /usr/bin/bin4 ---- OK: /usr/bin/bin5 result fine

Just CRITICAL values should be printed.
# 4  
Old 03-04-2013
Try:
Code:
sed 's/---- OK: [^-]*//g' file

# 5  
Old 03-04-2013
Using awk
Code:
awk ' BEGIN {
        f = 1
} {
        for ( i = 1; i <= NF; i++)
        {
                if ( $i ~ /CRITICAL:/ )
                {
                        f = 1
                }
                if ( $i ~ /OK:/ )
                {
                        f = 0
                }
                if ( f == 1 )
                {
                        printf "%s ", $i
                }
        }
        printf "\n"
} ' file

This User Gave Thanks to Yoda For This Post:
# 6  
Old 03-04-2013
bipinajth

It worked flawlessly. Thanks Smilie
# 7  
Old 03-04-2013
Code:
awk -F"---- " '{for (i=2;i<=NF;i++) {if ($i~"^CRITICAL:") {printf "---- %s", $i}}{print ""}}' file

Code:
---- CRITICAL: altered for /usr/bin/bin1 ---- CRITICAL: altered for /usr/bin/bin4 ---- CRITICAL: altered for /usr/bin/bin7

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Continued trouble matching fields in different files and selective field printing ([g]awk)

I apologize in advance, but I continue to have trouble searching for matches between two files and then printing portions of each to output in awk and would very much appreciate some help. I have data as follows: File1 PS012,002 PRQ 0 1 1 17 1 0 -1 3 2 1 2 -1 ... (7 Replies)
Discussion started by: jvoot
7 Replies

2. Shell Programming and Scripting

awk Selective printing of fields

Hi Gurus, I have following input file. I tried multiple awk combinations to print selected columns without success. HEX ID Name ver FLRGT Start Time Total Shared End Date ----- -------- --- ------ ------------------------ -------------- -------... (4 Replies)
Discussion started by: shunya
4 Replies

3. Shell Programming and Scripting

Selective printing based on matched record

Hi, I have file with thousands of lines somewhat similar to the below 6 lines 06MXXXXXXXXXXXXXXXX 0328 003529 J27300022 MICROSOFT *MSN 06<1 000000001344392 JPN151-85830 MSBILL.INFO F 06<A17087454000328651551 MSBILL.INFO ... (16 Replies)
Discussion started by: dsid
16 Replies

4. Shell Programming and Scripting

selective printing

hi all from below text "abcd,SYS_12345,xyz,PQR, ," I want to print only "abcd,SYS,xyz,PQR, ," i.e. taking only first three 3 chars from 2 string of comma separated file thanks (4 Replies)
Discussion started by: JoeColeEPL9
4 Replies

5. Shell Programming and Scripting

Perl: selective printing of lines

Hi, I have a file with lines like this. 2 7 18 ggcgt anna 2 7 18 hhchc sam 3 7 18 hhdjcc ross 4 7 18 hhcjd jenny 0 8 21 jjdhs sam 3 8 21 kkok bush 2 9 24 kosss BrenhamIf the values of the second column are equal, print only those lines with the least first column value. So in... (5 Replies)
Discussion started by: polsum
5 Replies

6. UNIX for Dummies Questions & Answers

Sco Unix printing : jobs hangs in queue - printing via lp versus hpnpf

Hi, We have a Unix 3.2v5.0.5. I installed a printer via scoadmin, HP network printer manager with network peripheral name (hostname and ipadres are in /etc/hosts). This is the configuration file : Code: root@sco1 # cat configurationBanner: on:AlwaysContent types: simpleDevice:... (0 Replies)
Discussion started by: haezeban
0 Replies

7. Shell Programming and Scripting

Awk selective printing

Hi, i need help to print number from different field INPUT: Student1 10 20 Student2 30 40 Student3 50 60 Student4 70 80 Desired Output: 1 20-30 2 40-50 3 60-70 Thank you! (5 Replies)
Discussion started by: saint2006
5 Replies

8. Shell Programming and Scripting

sed selective printing

Hi, I have an xml file having serveral smiliar lines as below <INPUT VAR1 ="" DATATYPE ="number(p,s)" VAR2 ="" VAR3 ="3" VAR4="0" VAR5 ="ELEMITEM" VAR6 ="NO" VAR7 ="NOT A KEY" VAR8 ="17" LEVEL ="0" NAME ="UNIX" NULLABLE ="NOTNULL" OCCURS ="0" OFFSET ="19" PHYSICALLENGTH ="15"... (3 Replies)
Discussion started by: dips_ag
3 Replies

9. Shell Programming and Scripting

selective printing of lines

Hi all , i need to grep for a string in a text file and print the string and the 3rd line above it. As always , Thanks. (4 Replies)
Discussion started by: okiedokie
4 Replies

10. Shell Programming and Scripting

selective printing awk

Hi there my file looks like this 1 a b c d e f 2 a b b c d e f f g h e t t 3 a c b d e f 4 a b c i want to print the line which has the fields containing ONLY a b c, in this case the line 4. How can i awk it !!!? Many Thanks in advance! (8 Replies)
Discussion started by: saint2006
8 Replies
Login or Register to Ask a Question