ترفند لينوکسي
اين اسکريپت چند انتخاب دارد که ميتوانيد از آنها استفاده کنيد، اين انتخابها به صورت زيرند:
- اگر -d را جلوي دستور بزنيد، دايرکتوري پايه تا جستجو را نشان ميدهد.
- اگر -t را انتخاب کنيد، آستانه حجم را به مگابايت محاسبه ميکند.
- اگر -x را زديد، الگوهايي از جستجو را ناديده ميگيرد.
به دستور زير دقت کنيد:
$ ./file.pl -d ../../ -t 100 -x simulator*
اين دستور دايرکتوريهايي که تا دو سطح بالاتر از دايرکتوري فعلي قرار دارند را جستجو کرده و آنهايي که حجم بيشتر از ??? مگابايت دارند را انتخاب ميکند. اگر اين دايرکتوريها با نام simulator شروع شوند، آن را در فهرست نميآورد.
کد زير را داخل يک فايل متني کپي کرده و سپس با فرمت .pl ذخيره کنيد.
#!/usr/bin/perl -w
use Getopt::Std;
use Cwd 'abs_path';
my %dir;
getopt("dtx",\%dir);
if(!defined $dir{d}){
print "Usage: program -d dir
[-t threshhold] [-x exclude pattern]\n";
exit 1;
}
if(!defined $dir{t}){
$dir{t}=1000;
}
my $f=abs_path($dir{d});
my $cmd="du -m -c $f";
if(defined $dir{x}){
$cmd=$cmd." --exclude=$dir{x}";
}
my $line=`$cmd`;
while($line=~/(\d+)\s+([&~#@&\r\n]+)\r?\n/g){
if($1»$dir{t}){
print $1.",".$2."\n"; }
}