所以我是perl的新手,我有一个文件夹,而不是包含子文件夹,也包含子文件夹等。所有这些子文件夹和子文件夹都是说“.psd”的文件
我尝试过研究如何将它们全部删除,到目前为止这是我最好的刺(但我不确定它会做什么,我不想最终删除我的计算机上的每个.psd文件)..我只想删除桌面上某个文件夹(或该文件夹子文件夹等)中的所有.psd文件
到目前为止的代码:
unlink glob('*.psd');
答案 0 :(得分:1)
在以下帮助下生成并修改脚本:
find2perl -type f -name '*.psd'
#!/usr/bin/perl
use strict;
use warnings;
use autodie; # abort execution with warning when "unlink" fails.
use File::Find;
find {
# do the "wanted" action for each file/directory
wanted => sub {
unlink $_ if -f $_ and /\.psd$/;
# -f tests that the entry is a normal file
# The regex /\.psd$/ tests that the filename has a .psd ending
},
}, $ARGV[0]; # take the start directory from command line
被称为
$ perl the-script.pl /place/where/you/want/to/start
这将在所需目录中递归工作。