Extract values

hi

I have a line as given below. I need to match "COLUMN_NAME" and get the every third value ie words in between quotes completely (' ')

Sample Input - 
COLUMN_NAME Like '%value%' Or COLUMN_NAME Like '%value%' Or COLUMN_NAME Like '%value value%' Or COLUMN_NAME Like '%value%' OR COLUMN_NAME Like '% value%' OR COLUMN_NAME Like '%value %' OR COLUMN_NAME Like 'value' Or COLUMN_NAME Like '%value%' Or COLUMN_NAME LIKE ' value' Or COLUMN_NAME LIKE 'value '  
Sample Output - 
COLUMN_NAME '%value%'
COLUMN_NAME '%value%'
COLUMN_NAME '%value value%'
COLUMN_NAME '%value%'
COLUMN_NAME '% value%'
COLUMN_NAME '%value %'
COLUMN_NAME 'value'
COLUMN_NAME '%value%'
COLUMN_NAME ' value'
COLUMN_NAME 'value '

Thanks in advance.

Using perl:

$ perl -lne 'while(/(COLUMN_NAME) Like ('\''.*?'\'')/gi){print "$1 $2"}'  file
COLUMN_NAME '%value%'
COLUMN_NAME '%value%'
COLUMN_NAME '%value value%'
COLUMN_NAME '%value%'
COLUMN_NAME '% value%'
COLUMN_NAME '%value %'
COLUMN_NAME 'value'
COLUMN_NAME '%value%'
COLUMN_NAME ' value'
COLUMN_NAME 'value '

Try

awk     '       {for (i=1; i<NF-1; i++) 
                   if ($i == "COLUMN_NAME")     {printf "%s%s%s", $i, FS, $(i+=2)
                                                 if ($i!=/^\x27.*\x27$/) printf "%s%s", FS, $(i+1)
                                                 printf "\n"}
                }
        ' file

Try :

$ awk 'gsub(/^[[:space:]]|[Ll][Ii][Kk][eE]/,x)' RS="Or|OR" file
COLUMN_NAME  '%value%' 
COLUMN_NAME  '%value%' 
COLUMN_NAME  '%value value%' 
COLUMN_NAME  '%value%' 
COLUMN_NAME  '% value%' 
COLUMN_NAME  '%value %' 
COLUMN_NAME  'value' 
COLUMN_NAME  '%value%' 
COLUMN_NAME  ' value' 
COLUMN_NAME  'value '

Using GNU sed:

sed 's#\(COLUMN_NAME\)\([ ][^ ]*[ ]\)#\1 #g;s#\([ ][^ ]*[ ]\)\(COLUMN_NAME\)#\n\2#g' file

Hello,

Following may also help.

awk 'gsub(/O[rR] /,"\n")1' file_name

Output will be as follows.

Sample Input -
COLUMN_NAME Like '%value%'
COLUMN_NAME Like '%value%'
COLUMN_NAME Like '%value value%'
COLUMN_NAME Like '%value%'
COLUMN_NAME Like '% value%'
COLUMN_NAME Like '%value %'
COLUMN_NAME Like 'value'
COLUMN_NAME Like '%value%'
COLUMN_NAME LIKE ' value'
COLUMN_NAME LIKE 'value '

Thanks,
R. Singh