Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash SHELL:显示最早创建的文件日期及其路径_Bash_Macos_Shell - Fatal编程技术网

Bash SHELL:显示最早创建的文件日期及其路径

Bash SHELL:显示最早创建的文件日期及其路径,bash,macos,shell,Bash,Macos,Shell,马科斯马约夫酒店 我可以在目录中找到最早创建的文件: cd /path/ && ls | xargs mdls -name kMDItemContentCreationDate | awk '{print $3, $4}' | sort -n | head -n1 产出: 2020-02-04 08:24:46 但我很难让它的路径显示在旁边。我想要像这样的东西: 2020-02-04 08:24:46 /Path/Filename 我可以轻松地使用上次访问时间完成它,但在创

马科斯马约夫酒店

我可以在目录中找到最早创建的文件:

cd /path/ && ls | xargs mdls -name kMDItemContentCreationDate | awk '{print $3, $4}' | sort -n | head -n1
产出:

2020-02-04 08:24:46
但我很难让它的路径显示在旁边。我想要像这样的东西:

2020-02-04 08:24:46 /Path/Filename

我可以轻松地使用
上次访问时间
完成它,但在创建时间方面就不行了。任何帮助都将不胜感激。非常确定它很简单,我只是想得太多了:(

使用
while
循环,而不是
xargs
。然后可以打印文件名和元数据

cd /path/ && ls | while read f; do
    printf '%s %s %s\n' $(mdls -name kMDItemContentCreationDate "$f" | awk '{print $3, $4}') "$f"
done | sort -n | head -n1

在你的问题中,你能做一下命令
cd/path/&&ls|xargs mdls-name kMDItemContentCreationDate
的输出示例吗?这样我们就可以更好地理解这一点。@Ryul:在MacOS上,一个简单的
ls-tU-l
应该已经按照创建时间排序了。如果
ls的bash内部实现de>不支持此选项,请尝试使用显式路径,例如
/usr/bin/ls-tU-l
。谢谢!现在它输出文件名:
2020-02-04 08:24:46 filename
。如何修改它以将完整路径输出到文件名,例如
/path/filename/
。使用
ls/path/*
而不是cd'到目录