X分より古いファイルの削除

X分より古いファイルの削除

作成してから15分経過したファイルとディレクトリをHP Unixのアーカイブフォルダに移動したいが、オプションが見つかりません。私はこのためにPerlスクリプトを作成しましたが、ディレクトリは移動せずにファイルだけを移動しました。

#!/usr/bin/perl
use strict;
use warnings;
use File::Find;
use File::Copy;
my $dstdir = '/tmp/test14';
@ARGV = ("/tmp/test11/") unless @ARGV;
print STDERR "Begin @ ", scalar localtime, "\n";
find(
    sub {
        if ( -f $_ && -M _ >= 1/96 ) {
            print STDERR "Moving '$_'\n";
            move( $File::Find::name, $dstdir ) or die "$!\n";
        }
    },
    @ARGV );
print STDERR "Ended @ ", scalar localtime, "\n";
1;

入力する:

/tmp/test11# ll
drwxrwxrwx   2 root       sys             96 Mar 14 21:46 hello
drwxrwxrwx   2 root       sys             96 Mar 14 21:46 hello1
-rw-rw-rw-   1 root       sys              0 Mar 14 22:03 hello3

出力:

/tmp/test14# ll
-rw-rw-rw-   1 root       sys              0 Mar 14 22:03 hello3

ベストアンサー1

単にGNUを使用してくださいfindコマンド(サポートされている場合):

find . -type f -mmin +30 -delete

あなたの状況が変わったので、更新されたバージョンは次のとおりです。

find . -type f -cmin +15 -delete

おすすめ記事