我尝试编写一个bash脚本,从网站上下载所有.txt文件' http://www1.ncdc.noaa.gov/pub/data/ghcn/daily/'。
到目前为止,我有wget -A txt -r -l 1 -nd 'http://www1.ncdc.noaa.gov/pub/data/ghcn/daily/'
,但我很难找到一种方法将每个文件的名称打印到屏幕上(下载时)。这就是我真正坚持的部分。如何打印名称?
思想?
编辑这是我到目前为止所做的,但我试图删除很多像ghcnd-inventory.txt</a></td><td align=...
wget -O- $LINK | tr '"' '\n' | grep -e .txt | while read line; do
echo Downloading $LINK$line ...
wget $LINK$line
done
答案 0 :(得分:0)
CREATE DEFINER=`root`@`localhost` TRIGGER `abcd`.`library_AFTER_UPDATE`
AFTER UPDATE ON `library` FOR EACH ROW
begin
UPDATE another_table SET same_field = NEW.same_field
WHERE some_filter_condition;
end
答案 1 :(得分:0)
Sundeep的答案略有优化:
LINK='http://www1.ncdc.noaa.gov/pub/data/ghcn/daily/'
wget -q -O- $LINK | sed -E '/.*href="[^"]*\.txt".*/!d;s/.*href="([^"]*\.txt)".*/\1/' | wget -nv -i- -B$LINK
sed
命令会删除所有与href="xxx.txt"
不匹配的行,并仅提取其他行的xxx.txt
部分。然后它将结果传递给另一个wget
,它将其用作要检索的文件列表。 -nv
选项告诉wget
尽可能不那么冗长。因此,它将打印当前下载的文件的名称,但几乎没有其他内容。警告:这仅适用于此特定网站,不会下降到子目录中。