我需要在几秒钟内找到文件的年龄,但是当我给出我的 Perl 行时:
perl -e ' my @st=stat("$name"); print time - $st[9];'
Bash 中带有“.”的变量 在文件名中,它不会找到文件并打印系统时间。否则,如果我创建一个名称为“某物”的文件,它会运行得很好。
我尝试用 \ 转义字符,但这不起作用。我真的不了解 Perl,也不知道如何解决这个问题。
谢谢您的帮助!
(请不要建议任何仅限 BASH 的解决方法,这里的很多东西都是旧的、被截断的......)
编辑:我找到了一种解决方法,但由于我是新手,所以我无法发布自己的问题的答案,所以这里是:
所以我终于找到了解决方法。
您在 Bash 中导出变量:
export name=".file.txt"
然后像这样从 Perl 调用它:$ENV{name}
它工作得很好。
编辑2:
出口的想法只是一个临时解决方案。更好的方法是按照 perreal 的建议使用单引号。