我想在没有“。”的情况下获取第一级目录中的子目录列表。和“..”在例如dir“/ var /”。我有这样的perl脚本,但它不工作:无法在第一级上列出目录中的子目录
#!/bin/perl
opendir(my $DH, $ARGV[0]) || die "$!\n";
my @dirs
= grep {
-d "$_" &&
/[^.]/
} readdir($DH);
@dirs = sort(@dirs);
closedir $DH;
print "@dirs\n";
输出是:
$ ./_copyplg.pl /var
<nothing>
/VAR名单
$ ls -1a /var
.
..
adm
cache
crash
db
empty
lib
local
lock
log
lost+found
mail
run
spool
tmp
var
www
请在这里我犯的错误?
谢谢@ikegami,忘记那部分 – simbabque
你说得对,我缺少严格的警告使用。我把它填充到脚本。 但我用你的“grep”取代了我的“grep”,但它不起作用**。 – waldauf
@waldauf“它不起作用”是什么意思? –