Sponsored Content
Top Forums Shell Programming and Scripting Print lines present in first that match second variable. And ones that does not exist in second. Post 302980515 by kchinnam on Monday 29th of August 2016 02:41:41 PM
Old 08-29-2016
Print lines present in first that match second variable. And ones that does not exist in second.

I have multi line input(var1) and reference(var2) variables.

How to capture lines not present in var2 but present in var1?

How to capture lines present var2 but not in var1?

Code:
# configuration from server
var1="""
Custom JAX-RS
Custom Shared
Web 2.0
"""

# required configuration
var2="""
Web 2.0
Custom Shared
IBM WebSphere JAX-RS
"""

# matching ones between var1 and var2
valid=''

# capture lines not present in var2 but present in var1?
invalid=''

# capture lines present in var2 but not in var1?
missing=''

Expected output:
Code:
valid='Custom Shared,Web 2.0'
invalid='Custom JAX-RS'
missing='IBM WebSphere JAX-RS'

I have this working by using two for loops(one to find invalid/valid and the other to find missing) and some if statements. I am not posting to avoid confusion and clutter.
I am sure there is a better way of doing this using awk or perl instead of writing basic loops and grep statements.

Last edited by kchinnam; 08-29-2016 at 11:49 PM.. Reason: updating requirements
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to print all lines from a second match

I am trying to parse iostat output for io issues.. I want to print all lines including second occurance of 'extended' till EOF(end of file). Can we do that using awk or sed one liners or do we need a script for it? (1 Reply)
Discussion started by: kchinnam
1 Replies

2. UNIX for Dummies Questions & Answers

Awk print all lines on match?

Ok so I can use awk to match a pattern and print the whole line with print $0. Is there any way to just tell awk to print every line of output when the pattern matches? I'm having it wait for the word error and then print that entire line. But what I actually need to see is all the following... (9 Replies)
Discussion started by: MrEddy
9 Replies

3. Shell Programming and Scripting

Print lines before and after pattern match

I am using Solaris, I want to print 3 lines before pattern match pattern 5 lines after pattern match Pattern is abcd to be searched in a.txt. Looking for the solution in sed/awk/perl. Thanks .. Input File a.txt: ================= 1 2 3 abcd 4 5 6 7 8 (7 Replies)
Discussion started by: manuswami
7 Replies

4. Shell Programming and Scripting

Print lines that match certain criteria

Hi all I have a text file with the following format: id col1 col2 col3 col4 col5 col6 col7 ... row1 0 0 0 0 0 0 0 row2 0 0 0 0 0 0 0 row3 0 0 0 0 0 0.2 0 row4 0 0 0 0 0 0 0 row5 0 0 0 0 0 0 0 row6 0 0 0 0.1 0 0 0 row7 0 0 0 0 0 0 0 row8 0 0 0 0 0 0 0 row9 0 0 0 0 0 0 0 ... The file... (2 Replies)
Discussion started by: gautig
2 Replies

5. Shell Programming and Scripting

Print all lines before first match

Hi, I have this file. close block3c block3b block3a open close block2b block2a open close block1a open and I need : open block3a block3b block3c close (1 Reply)
Discussion started by: lasserfox
1 Replies

6. Shell Programming and Scripting

Print lines that do not match the pattern

I need to print the lines that do not match a pattern. I tried using grep -v and sed -n '/pattern/!p', but both of them are not working as I am passing the pattern as variable and it can be null some times. Example ........ abcd...... .........abcd...... .........abcd......... (4 Replies)
Discussion started by: sunny1234
4 Replies

7. UNIX for Dummies Questions & Answers

Adding variable value in the begining of all lines present in a file.

I am getting the varible value from a grep command as: var=$(grep "Group" File1.txt | sed 's/Group Name*//g;s/,//g;s/://g;s/-//g') which leaves me the value of $var=xyz. now i want to append $var value in the begining of all the lines present in the file. Can u please suggest? Input file: 1... (10 Replies)
Discussion started by: rade777
10 Replies

8. UNIX for Dummies Questions & Answers

awk - (URGENT!) Print lines sort and move lines if match found

URGENT HELP IS NEEDED!! I am looking to move matching lines (01 - 07) from File1 and 77 tab the matching string from File2, to File3.txt. I am almost done but - Currently, script is not printing lines to File3.txt in order. - Also the matching lines are not moving out of File1.txt ... (1 Reply)
Discussion started by: High-T
1 Replies

9. Shell Programming and Scripting

Match the value & print lines from the match

Hello, I have a file contains two columns. I need to print the lines after “xxx” so i'm trying to match "xxx" & cut the lines after that. I'm trying with the grep & cut command, if there any simple way to extract this please help me. Sample file : name id AAA 123 AAB 124 AAC 125... (4 Replies)
Discussion started by: Shenbaga.d
4 Replies

10. Shell Programming and Scripting

Print all lines between two keyword if a specific pattern exist

I have input file as below I need to check for a pattern and if it is there in file then I need to print all the lines below BEGIN and END keyword. Could you please help me how to get this in AIX using sed or awk. Input file: ABC ******** BEGIN ***** My name is Amit. I am learning unix.... (8 Replies)
Discussion started by: Amit Joshi
8 Replies
GET_CLASS_VARS(3)							 1							 GET_CLASS_VARS(3)

get_class_vars - Get the default properties of the class

SYNOPSIS
array get_class_vars (string $class_name) DESCRIPTION
Get the default properties of the given class. PARAMETERS
o $class_name - The class name RETURN VALUES
Returns an associative array of declared properties visible from the current scope, with their default value. The resulting array elements are in the form of varname => value. In case of an error, it returns FALSE. CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.0.3 | | | | | | | get_class_vars(3) will only return the properties | | | that can be accessed from the current scope. | | | | | 5.0.2 | | | | | | | Calling get_class_vars(3) will now expose all | | | the properties as an array, unlike previous be- | | | haviour where protected and private properties | | | were prefixed with nul bytes. | | | | | 5.0.1 | | | | | | | Calling get_class_vars(3) will expose all prop- | | | erties, as when converting an object to a class. | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 get_class_vars(3) example <?php class myclass { var $var1; // this has no default value... var $var2 = "xyz"; var $var3 = 100; private $var4; // constructor function myclass() { // change some properties $this->var1 = "foo"; $this->var2 = "bar"; return true; } } $my_class = new myclass(); $class_vars = get_class_vars(get_class($my_class)); foreach ($class_vars as $name => $value) { echo "$name : $value "; } ?> The above example will output: var1 : var2 : xyz var3 : 100 Example #2 get_class_vars(3) and scoping behaviour <?php function format($array) { return implode('|', array_keys($array)) . " "; } class TestCase { public $a = 1; protected $b = 2; private $c = 3; public static function expose() { echo format(get_class_vars(__CLASS__)); } } TestCase::expose(); echo format(get_class_vars('TestCase')); ?> The above example will output: // 5.0.0 a| * b| TestCase c a| * b| TestCase c // 5.0.1 - 5.0.2 a|b|c a|b|c // 5.0.3 + a|b|c a SEE ALSO
get_class_methods(3), get_object_vars(3). PHP Documentation Group GET_CLASS_VARS(3)
All times are GMT -4. The time now is 07:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy