sed:无法读取/home/me/weather:没有这样的文件或目录



我从一个从accuweather获取天气信息的脚本中提取了以下内容:

wget -O ./weather_raw $address

if [[ -s ./weather_raw ]]; then
egrep 'Currently|Forecast</title>|_31x31.gif' ./weather_raw > ./weather
sed -i '/AccuWeather|Currently in/d' ./weather
sed -i -e 's/^[ t]*//g' -e 's/<title>|</title>|<description>|</description>//g' ./weather
sed -i -e 's/&lt;img src="/n/g' ./weather
sed -i '/^$/d' ./weather
sed -i -e 's/_31x31.*$//g' -e 's/^.*/icons///g' ./weather
sed -i -e '1s/.$//' -e '3s/.$//' -e '6s/.$//' ./weather
for (( i=2; i<=8; i+=3 ))
    do
        im=$(sed -n ${i}p ./weather)
        sed -i $i"s/^.*$/$(test_image $im)/" ./weather
    done
fi

触发上述代码的命令位于conkyrc文件及其~/.conkyblue/accu_weather/rss/acc_rss中。当我从提示符运行conkyrc脚本时,我得到一个错误

sed: can't read /home/me/weather: No such file or directory

当我检查时,确实没有创建"weather"文件。但是,如果直接从提示符中运行命令~/.conkyblue/accu_weather/rss/acc_rss,它会像预期的那样工作,并创建并将内容放入/home/me/weather文件中。

我不知道任何关于sed命令,尽管我试图学习它作为这个麻烦的结果。

代码可能有什么问题。我不认为这是权限问题,因为它写入的文件夹是我的主文件夹,我当然拥有它。

谢谢

应该是由egrep创建的

运行脚本时,将在脚本进程的pwd目录下创建weather目录。

检查为什么egrep不创建文件,或者它在哪个目录中创建了该文件。

最新更新