I have a script that is supposed to grab a weather feed and return the current temperature. If grabs the file fine, but does not return the temperature.
Here is the line that fails: T=$(grep "<temp_f>" KEUG.xml |cut -c10- |cut -d '.' -f 1) Here is the KEUG.xml file: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="latest_ob.xsl" type="text/xsl"?> <current_observation version="1.0" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=" http://www.weather.gov/view/current_observation.xsd"><credit>NOAA's National Weather Service</credit><credit_URL>https://weather.gov/ </credit_URL><image><url>http://forecast.weather.gov/images/xml_badge.png</url><title>NOAA's National Weather Service</title><link>https://www.weather.gov</link></image><suggested_pickup>15 minutes after the hour</suggested_pickup><suggested_pickup_period>60</suggested_pickup_period><location>Eugene, Mahlon Sweet Field, OR</location><station_id>KEUG</station_id><latitude>44.13333</latitude><longitude>-123.21444</longitude><observation_time>Last Update on Jul 16 2025, 7:54 pm PDT</observation_time><observation_time_rfc822>Wed, 16 Jul 2025 19:54:00 -0700</observation_time_rfc822><weather>Fair</weather><temperature_string>88.0 F (31.1 C)</temperature_string><temp_f>88.0</temp_f><temp_c>31.1</temp_c><relative_humidity>26</relative_humidity><wind_string>West at 8.1 MPH (7 KT)</wind_string><wind_dir>West</wind_dir><wind_degrees>250</wind_degrees><wind_mph>8.1</wind_mph><wind_kt>7</wind_kt><pressure_string>1008 mb</pressure_string><pressure_mb>1008</pressure_mb><pressure_in>29.78</pressure_in><dewpoint_string>48.9 F (9.4 C)</dewpoint_string><dewpoint_f>48.9</dewpoint_f><dewpoint_c>9.4</dewpoint_c><heat_index_string>85 F (30 C)</heat_index_string><heat_index_f>85</heat_index_f><heat_index_c>30</heat_index_c><visibility_mi>10.00</visibility_mi><icon_url_base> http://forecast.weather.gov/images/wtf/small/ </icon_url_base><two_day_history_url> http://forecast.weather.gov/data/obhistory/KEUG.html </two_day_history_url><icon_url_name>nskc.png</icon_url_name><ob_url> http://forecast.weather.gov/data/METAR/KEUG.1.txt</ob_url><disclaimer_url> https://www.weather.gov/disclaimer.html</disclaimer_url><copyright_url> https://www.weather.gov/disclaimer.html</copyright_url><privacy_policy_url> https://www.weather.gov/notice.html </privacy_policy_url></current_observation> I should get: $ echo $T 88 Instead, I get: $ echo $T observation version="1 This has been working for several years. The script runs each hour, pulling the weather statement and culling the current temperature. The remainder of the script uses the variable to select the appropriate audio file to announce the current temperature. I set this up about five years ago and my feeble memory has no idea how it really works any more. Any ideas on what went wrong where? Thanks, Michael
