Looking for an awk command to print strings only if substring is missing
I have a file that I need to find each interface that has move-group on the interface line and print this line if the lines under the interface does Not have "filter-shared 14".
Example file:
I only wish to print out the interface line that does have "filter-shared 14" under it.
So the output would look like this:
Stash each interface line in a variable a, and 0 in another b, and as your seaarch forward, look for filter-shared 14, and if you find it, st the second var b to 1, and at the next interface line or EOF if b still a zero, print the stash a before stashing the new interface line. So, in code the last bit comes first!
Thank you Scrutinizer, that works. But it skips the first line of the file if there is a match. I think it's because x is empty until after the first line.
Hi Numele, I cannot reproduce this skipping of the first line. Could you give an example and could you specify on what OS you are getting this result?
I get:
If I change "filter-shared 14" of the first record to something else, then the output becomes:
Note that there are two parts. The first puts empty lines around the records, the "x" is an empty variable, so that an empty line gets printed before that start of each record.
This then enables the second awk to use RS=, a special value so that records can be separated by blank lines and thus become multi-line records. So for example the first record becomes:
Because the fields separator FS is set to \n, the first field ($1) is equal to the first line of such a multiline record..
I have two files and desire to use the strings from $1 of file 1 (file1.txt) as search criteria to find matches in $2 of file 2 (file2.txt). If matches are found I want to output the entire line of file 2 (file2.txt) followed by fields $2-$11 of file 1 (file1.txt). I can find the matches, I cannot... (7 Replies)
The below awk in bold will look for the ids in file1 in $2 of file2 and if they match print the line in file2. If an id is missing or not found in file2 (like BMPR2 in line4 of file1) I can not figure out how to add it to them to the lines in the output as missing in $3 following the same format.... (4 Replies)
I have a list of countries and I'm trying to print the country names that start with "A" and end in "a".
I can do the first one which gives me the correct output.
awk '/^A/ {print $1}' countries.txt
but when I try:
awk '/^A a$/ {print $1}' countries.txt
or even:
awk... (2 Replies)
I have a file with many lines which contain strings like .. etc.
But with no rule regarding field separators or anything else.
I want to print ONLY THE STRING from each line , not the entire line !!!
For example from the lines :
Flow on service executed with success in . Performances... (5 Replies)
Hello,
I can extract lines in a file, between two strings but only one time.
If there are multiple occurencies, my command show only one block.
Example, monfichier.txt contains :
debut_sect
texte L1
texte L2
texte L3
texte L4
fin_sect
donnees inutiles 1
donnees inutiles 2
... (8 Replies)
Hi,
I have a file filled with search strings which have a blank in between and look like this:
S. g. Ehr.
o. Jg.
v. d. Chijs
g. Ehr.
Now i would like to search for the strings and it also shall return the next column after the match.
awk -v FILE="search_strings.txt" 'BEGIN {... (10 Replies)
Hi to everyone,
Please some help over here.
Hi have array a with 6 elements and array b with 3 elements as shown inside BEGIN{} statement.
I need help to get the correct sintax (the part in red) to compare if string from array b is in array a and print the number
related for each match.... (3 Replies)
hi everyone,
1.txt
981 I field1 > field2.a: aa, ..si01To:<f:a@a.com>From: <f:a@a.com>;tag=DVNgfRZBZRMi96 <f:a@1:333>;ZZZZZ: 12345
the output
field1 field2 <f:a@a.com>
the output is cut the string 3rd and 5th field, and get the value betwee "To:" and "From:", please advice.
... (1 Reply)
Hi,
I want to print only lines in between two strings and not the strings using awk.
Eg:
OUTPUT
top 2
bottom 1
left 0
right 0
page 66
END
I want to print into a new file only
top 2
bottom 1
left 0... (4 Replies)