EAT*_*IES 1 bash perl unix-timestamp
我需要在几秒钟内找到文件的年龄,但是当我给出Perl行时:
perl -e ' my @st=stat("$name"); print time - $st[9];'
Run Code Online (Sandbox Code Playgroud)
来自Bash的变量"." 在文件名中,它将找不到该文件并改为打印systime.否则,如果我创建一个名称为"某事"的文件,它的效果非常好.
我尝试用\来逃避角色,但这不起作用.我真的不知道Perl,我不知道如何解决这个问题.
谢谢您的帮助!
(请不要建议任何BASH只有解决方法,这里的很多东西都是旧的,截断的......)
编辑:我发现了一个解决方法,但由于我是一个新手,我无法回答我自己的问题,所以这里是:
所以我终于找到了解决方法.
您在Bash中导出变量:
export name=".file.txt"
Run Code Online (Sandbox Code Playgroud)
然后从Perl中调用它,如下所示: $ENV{name}
它工作得很好.
编辑2:
出口创意只是一个临时解决方案.更好的是使用单引号作为perreal建议.
您需要将shell变量放在单引号之外:
perl -e ' my @st=stat("'"$name"'"); print time - $st[9];'
Run Code Online (Sandbox Code Playgroud)
或通过参数传递:
perl -se 'my @st=stat("$name"); print time - $st[9];' -- -name="$name"
Run Code Online (Sandbox Code Playgroud)