Bash 在linux中重命名目录中最新创建的文件

Bash 在linux中重命名目录中最新创建的文件,bash,Bash,我可以使用命令在目录中获取最新修改/创建的文件 ls -Art | tail -n 1 我想重命名上述命令返回的文件。我怎么能这么做 我也尝试了一些非常基本的东西,像这样 ls -rt | xargs | awk {'print $1'} | xargs cat >> newfile.txt 有时它可以工作,但大多数情况下它只写入一个空文件请尝试以下操作: ls -ltr | awk '{ field = $NF }; END{ print field }' | xargs

我可以使用命令在目录中获取最新修改/创建的文件

ls -Art | tail -n 1
我想重命名上述命令返回的文件。我怎么能这么做

我也尝试了一些非常基本的东西,像这样

ls -rt | xargs | awk {'print $1'} | xargs cat >> newfile.txt   
有时它可以工作,但大多数情况下它只写入一个空文件

请尝试以下操作:

ls -ltr | awk '{ field = $NF }; END{ print field }' | xargs -I '{}' mv '{}' newfile.txt

使用
find
识别最近修改的文件,而不是解析
ls

find /path/to/search -type f -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r | head -n1 | xargs -I '{}' mv '{}' newfile.txt

ls-rt | xargs | awk{'print$1'}| xargs cat>>newfile.txt
这是我见过的最有趣的台词之一。。。xargs和awk在那里做什么?为什么ls-At | head-n1 | xargs“-I{}”mv{}newfile.txt不起作用?@Bobby,这很有效。我不熟悉shell脚本,我没有像在本文中使用的那样使用xargs和awk。这是可行的,但是find命令对ls有什么好处吗?谢谢,如果更好地使用find over ls,我会接受您的答案。@devnull这将中断文件名和空格。@Jaypal哦,是的,不仅文件名带有空格,它还会断开符号链接。不是吗?世界上谁会想用
ls
做这样的事情?