Extract lines from output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract lines from output
# 1  
Old 09-20-2019
Extract lines from output

Hi everyone,


I have the following string that repeats in a file.



I want to get the following output :

Code:
   "CDN_NF2_SGW_INT_443" 

   172.23.120.40:443 

   source-address-translation {
   pool /Common/SNAT_EXTERNAL_62.179.94.194


and parse the file till the end .



Code:
ltm virtual /Common/CDN_NF2_SGW_INT_443 {
    description "test"

   destination /Common/172.23.120.40:443
    ip-protocol tcp
    mask 255.255.255.255
    profiles {
        /Common/PFL_FL4 { }
    }
    rules {
        /Common/BASED_NODE_SELECT_FOR_L4
    }
    source 0.0.0.0/0
    source-address-translation {
        pool /Common/SNAT_EXTERNAL_62.179.94.194
        type snat
    }
    translate-address enabled
    translate-port enabled
    vlans {
        /Common/T3029.0
    }
    vlans-enabled

I run the following "
Code:
file.txt |grep -A3 'ltm virtual\| source-address-translation {'

"

but the problem is not optimal. Thanks for the help.

Moderator's Comments:
Mod Comment Please use code tags

Last edited by jim mcnamara; 09-20-2019 at 10:18 AM..
# 2  
Old 09-20-2019
Your code as posted will not work at all.

Code:
grep -A3 'pattern goes here' filename

Is the correct syntax.

Correct the order of elements in your command first. And then let's go from there. I do not understand your pattern, I guess you want alternation based on the use of the pipe symbol '\|'
# 3  
Old 09-20-2019
Indeed I am not extracting solely what I need. the thing is I cannot use line numbers in my extraction script, since those might change, so I need to find patterns to look for.

so from this string :

Code:
ltm virtual /Common/CDN_NF2_SGW_INT_443 {     
      description "test"     
      destination /Common/172.23.120.40:443    
      ip-protocol tcp     mask 255.255.255.255    
      profiles {        
               /Common/PFL_FL4 { }     
      }     
      rules {         
              /Common/BASED_NODE_SELECT_FOR_L4    
     }     
     source 0.0.0.0/0     
     source-address-translation {         
             pool /Common/SNAT_EXTERNAL_62.179.94.194         
             type snat    
     }    
     translate-address enabled     
     translate-port enabled     
     vlans {         
             /Common/T3029.0     
     }     
    vlans-enabled

I need an output like this :
Code:
ltm virtual /Common/CDN_NF2_SGW_INT_443 {
destination /Common/172.23.120.40:443
source-address-translation {         pool /Common/SNAT_EXTERNAL_62.179.94.194

thanks!

Moderator's Comments:
Mod Comment Use code tags to wrap code fragments or data samples

Last edited by Yoda; 09-20-2019 at 11:50 AM..
# 4  
Old 09-20-2019
Something like this (quick and dirty)?

Code:
# grep -E 'ltm virtual|source-address-translation|pool|destination' file
ltm virtual /Common/CDN_NF2_SGW_INT_443 {
   destination /Common/172.23.120.40:443
    source-address-translation {
        pool /Common/SNAT_EXTERNAL_62.179.94.194

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract lines that appear twice

I have a text file that looks like this : root/user/usr1/0001/abab1* root/user/usr1/0001/abab2* root/user/usr1/0002/acac1* root/user/usr1/0002/acac2* root/user/usr1/0003/adad1* root/user/usr1/0004/aeae1* root/user/usr1/0004/aeae2* How could I code this to extract just the subjects... (9 Replies)
Discussion started by: LeftoverStew
9 Replies

2. Shell Programming and Scripting

ksh sed - Extract specific lines with mulitple occurance of interesting lines

Data file example I look for primary and * to isolate the interesting slot number. slot=`sed '/^primary$/,/\*/!d' filename | tail -1 | sed s'/*//' | awk '{print $1" "$2}'` Now I want to get the Touch line for only the associate slot number, in this case, because the asterisk... (2 Replies)
Discussion started by: popeye
2 Replies

3. Shell Programming and Scripting

Use sed to print first n lines and last n lines of an output.

Use sed to print first n lines and last n lines of an output. For example: n=10 Can it be done? Thanks. (7 Replies)
Discussion started by: carloszhang
7 Replies

4. Shell Programming and Scripting

Search for a pattern,extract value(s) from next line, extract lines having those extracted value(s)

I have hundreds of files to process. In each file I need to look for a pattern then extract value(s) from next line and then search for value(s) selected from point (2) in the same file at a specific position. HEADER ELECTRON TRANSPORT 18-MAR-98 1A7V TITLE CYTOCHROME... (7 Replies)
Discussion started by: AshwaniSharma09
7 Replies

5. UNIX for Dummies Questions & Answers

Extract lines with specific words with addition 2 lines before and after

Dear all, Greetings. I would like to ask for your help to extract lines with specific words in addition 2 lines before and after these lines by using awk or sed. For example, the input file is: 1 ak1 abc1.0 1 ak2 abc1.0 1 ak3 abc1.0 1 ak4 abc1.0 1 ak5 abc1.1 1 ak6 abc1.1 1 ak7... (7 Replies)
Discussion started by: Amanda Low
7 Replies

6. Shell Programming and Scripting

Extract some lines from one file and add those lines to current file

hi, i have two files. file1.sh echo "unix" echo "linux" file2.sh echo "unix linux forums" now the output i need is $./file2.sh unix linux forums (3 Replies)
Discussion started by: snreddy_gopu
3 Replies

7. Shell Programming and Scripting

extract nth line of all files and print in output file on separate lines.

Hello UNIX experts, I have 124 text files in a directory. I want to extract the 45678th line of all the files sequentialy by file names. The extracted lines should be printed in the output file on seperate lines. e.g. The input Files are one.txt, two.txt, three.txt, four.txt The cat of four... (1 Reply)
Discussion started by: yogeshkumkar
1 Replies

8. Shell Programming and Scripting

Need to extract some lines from output via AWK

Hello Friends, I have got, this output below and i want to extract the name of symlink which is highlighted in red and the path above it highlighted in blue. At the end i want to append path and symlink. /var/tmp/asirohi/jdk/jre /var/tmp/asirohi/jdk/jre/.systemPrefs... (3 Replies)
Discussion started by: asirohi
3 Replies

9. Shell Programming and Scripting

extract the lines

Hi, I have a text file with 15 columns and i want to extract those lines of which 7th column is ABCD. I think we can do this using awk but could not frame the command. Please help. TIA Prvn (2 Replies)
Discussion started by: prvnrk
2 Replies

10. UNIX for Dummies Questions & Answers

Extract known lines

Hi all, I have a text file of 143 lines. The I don't want all lines but want to retain line format. How can I extract lines 34, 65, 68, 70 (plus 7 others) easliy? I have found some example head/tail n lines and some sed -n examples that have been shown for single line or mass consecutive... (2 Replies)
Discussion started by: nhatch
2 Replies
Login or Register to Ask a Question