所以我是 perl 的新手,我有一个文件夹,而不是包含子文件夹,子文件夹还包含子文件夹等。所有这些子文件夹和子文件夹的混乱都是说“.psd”的文件
我尝试研究如何将它们全部删除,到目前为止,这是我最好的尝试(但我不确定它会做什么,我不想最终删除我计算机上的每个 .psd 文件)......我只想要删除我桌面上某个文件夹(或该文件夹子文件夹等)中的所有 .psd 文件
到目前为止的代码:
unlink glob('*.psd');
所以我是 perl 的新手,我有一个文件夹,而不是包含子文件夹,子文件夹还包含子文件夹等。所有这些子文件夹和子文件夹的混乱都是说“.psd”的文件
我尝试研究如何将它们全部删除,到目前为止,这是我最好的尝试(但我不确定它会做什么,我不想最终删除我计算机上的每个 .psd 文件)......我只想要删除我桌面上某个文件夹(或该文件夹子文件夹等)中的所有 .psd 文件
到目前为止的代码:
unlink glob('*.psd');
借助以下工具在几秒钟内生成和修改脚本:
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
这将在所需目录中递归工作。