我正在使用命令ls -ld /path1/*.ext1 /path2/*.ext2, etc.
有时,文件名称包含特殊字符:)
,(
等。
因此,我想在每个搜索目录中添加撇号。
例如:
$filter="ls -ld /path1/*ext1 /path2/*ext2"; (1)
$filter=~ ... ; (2)
应用正则表达式后的结果应为:
ls -ld '/path1/*ext1' '/path2/*ext2' (with apostrophes)
应该放在(2)中的正则表达式是什么?
答案 0 :(得分:0)
这会像你问的那样解决问题:
$filter =~ s!(\S+)!'$1'!g;
更好的方法:
while (glob("/path1/*ext1 /path2/*ext2"){
process_file($_);
}
此致