2013-01-17 32 views
0

我有以下的,从获取机构AccuWeather气象信息的脚本摘录:sed的:不能读/家/我/天气:没有这样的文件或目录

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 

事实上,当我检查一下,是不是创造了“全天候”的文件。但是,如果直接从提示符运行命令~/.conkyblue/accu_weather/rss/acc_rss,它将按预期工作,并创建内容并将其放入/ home/me/weather文件。

我对sed命令一无所知,尽管我试图通过这个麻烦来了解它。

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

谢谢

回答

1

它应该由egrep创建。

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

检查并了解为什么egrep不会创建该文件或创建该文件的目录。

+0

谢谢alinsoar,但我已经检查过,并且仍然不知道为什么它不创建文件。如果有任何帮助,我使用fedora 18 – Napoleon

+0

尝试用'find/-name weather'找到文件,可能你不知道脚本的工作目录。如果你知道工作目录,检查它是否为脚本的用户设置了'+ x' [写入访问]标志。 – alinsoar

相关问题