⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmold.pl

📁 Wget很好的处理了http和ftp的下载,很值得学习的经典代码
💻 PL
字号:
#! /usr/bin/perl -w# Copyright (C) 1995, 1996, 1997, 2007, 2008 Free Software Foundation, Inc.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 3 of the License, or# (at your option) any later version.# This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.# You should have received a copy of the GNU General Public License# along with this program.  If not, see <http://www.gnu.org/licenses/>.# This script is a very lame hack to remove local files, until the# time when Wget proper will have this functionality.# Use with utmost care!# If the remote server supports BSD-style listings, set this to 0.$sysvlisting = 1;$verbose = 0;if (@ARGV && ($ARGV[0] eq '-v')) {    shift;    $verbose = 1;}(@dirs = @ARGV) || push (@dirs,'.');foreach $_ (@dirs) {    &procdir($_);}# End heresub procdir{    local $dir = shift;    local(@lcfiles, @lcdirs, %files, @fl);    print STDERR "Processing directory '$dir':\n" if $verbose;        opendir(DH, $dir) || die("Cannot open $dir: $!\n");    @lcfiles = ();    @lcdirs = ();    # Read local files and directories.    foreach $_ (readdir(DH)) {        /^(\.listing|\.\.?)$/ && next;        lstat ("$dir/$_");        if (-d _) {            push (@lcdirs, $_);        }        else {            push (@lcfiles, $_);        }    }    closedir(DH);    # Parse .listing    if (open(FD, "<$dir/.listing")) {        while (<FD>)        {            # Weed out the line beginning with 'total'            /^total/ && next;            # Weed out everything but plain files and symlinks.            /^[-l]/ || next;            @fl = split;            $files{$fl[7 + $sysvlisting]} = 1;        }        close FD;        foreach $_ (@lcfiles) {            if (!$files{$_}) {                print "$dir/$_\n";            }        }    }    else {        print STDERR "Warning: $dir/.listing: $!\n";    }    foreach $_ (@lcdirs) {        &procdir("$dir/$_");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -