[Solved] sed parsing xml file1 index file2


the awk line should work for u:

awk 'FNR==NR{if(NR%2)i=$0;else a[i]=$0;next;}{if($0 in a){print; print a[$0]}else print}' file2 file1

EDIT

here I see no EXTRA lines. see the test. (maybe your example data format is not same as your real data.).

however I have shown the way, how to do it. you can change the awk oneliner to fit your real data format.

kent$  cat f1
/data/weather/date=2011-12-18
/data/weather/tempMaxC=25
/data/weather/tempMaxF=76
/data/weather/tempMinC=14
/data/weather/tempMinF=56
/data/weather/windspeedMiles=15
/data/weather/windspeedKmph=24
/data/weather/winddirection=NE
/data/weather/winddir16Point=NE
/data/weather/winddirDegree=39
/data/weather/weatherCode=112
/data/weather/weatherIconUrl=http:/someurl
/data/weather/weatherDesc= Cloudy 
/data/weather/precipMM=0.0
/data/weather
/data/weather/date=2011-12-19
/data/weather/tempMaxC=29
/data/weather/tempMaxF=84
/data/weather/tempMinC=17
/data/weather/tempMinF=63
/data/weather/windspeedMiles=13
/data/weather/windspeedKmph=21
/data/weather/winddirection=N
/data/weather/winddir16Point=N
/data/weather/winddirDegree=360
/data/weather/weatherCode=116
/data/weather/weatherIconUrl=http://someurl
/data/weather/weatherDesc=Partly Cloudy 
/data/weather/precipMM=14.1

kent$  cat f2
/data/weather/weatherCode=111
/data/weather/weatherIconUrl=images/icon1.png
/data/weather/weatherCode=112
/data/weather/weatherIconUrl=images/icon2.png
/data/weather/weatherCode=113
/data/weather/weatherIconUrl=images/icon3.png
/data/weather/weatherCode=116
/data/weather/weatherIconUrl=images/icon16.png


kent$  awk 'FNR==NR{if(NR%2)i=$0;else a[i]=$0;next;}{if($0 in a){print; print a[$0]}else print}' f2 f1
/data/weather/date=2011-12-18
/data/weather/tempMaxC=25
/data/weather/tempMaxF=76
/data/weather/tempMinC=14
/data/weather/tempMinF=56
/data/weather/windspeedMiles=15
/data/weather/windspeedKmph=24
/data/weather/winddirection=NE
/data/weather/winddir16Point=NE
/data/weather/winddirDegree=39
/data/weather/weatherCode=112
/data/weather/weatherIconUrl=images/icon2.png
/data/weather/weatherIconUrl=http:/someurl
/data/weather/weatherDesc= Cloudy 
/data/weather/precipMM=0.0
/data/weather
/data/weather/date=2011-12-19
/data/weather/tempMaxC=29
/data/weather/tempMaxF=84
/data/weather/tempMinC=17
/data/weather/tempMinF=63
/data/weather/windspeedMiles=13
/data/weather/windspeedKmph=21
/data/weather/winddirection=N
/data/weather/winddir16Point=N
/data/weather/winddirDegree=360
/data/weather/weatherCode=116
/data/weather/weatherIconUrl=images/icon16.png
/data/weather/weatherIconUrl=http://someurl
/data/weather/weatherDesc=Partly Cloudy 
/data/weather/precipMM=14.1

EDIT2

without ….sameurl…

 awk 'FNR==NR{if(NR%2)i=$0;else a[i]=$0;next;}{if($0 in a){print; print a[$0]}else if ($0!~/someurl/) print}' f2 f1

6

solved sed parsing xml file1 index file2