linux - 使用循环在多个文件夹中查找今天的文件 - LINUX

标签 linux bash unix find

我在列出选定文件夹中的所有最新文件时遇到问题。情况是,服务器有 15 个名称以“backup”开头的文件夹。因此,我需要使用循环列出这些文件夹中的所有最新文件(包括它们的名称和大小)。所以我想出了这些代码:

#!/bin/sh

cd /
for i in ls -d backup*; do (`ls -tr | tail -1` $i) ; done

它返回了 17 行错误消息,即:

./show_latest.sh: line 5: tmp: command not found

需要了解此事的人帮忙。 全面质量管理

这里解决的问题是代码:

#!/bin/sh

for i in ls -d backup*; do du -sh $(find /$i -mtime -1 -print ); done

最佳答案

您需要在 ls 两边加上反引号:

#!/bin/sh

cd /
for i in `ls -d backup*`; do (`ls -tr | tail -1` $i) ; done

或者,以下内容将以逆时间排序顺序为您提供所有常规文件:

find . -type f -exec echo \'{}\' \;|xargs ls -tr

关于linux - 使用循环在多个文件夹中查找今天的文件 - LINUX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713274/

相关文章:

linux - 对查找结果运行扩展

c++ - fork() 和输出

linux - 在 Linux 中解压缩文件时如何避免跳过不正确的密码?

bash - 从shell脚本中的行首删除字符?

r - 将 R 代码嵌入到 BASH unix 脚本中

bash - 如何将输入通过管道传递给 Bash while 循环并在循环结束后保留​​变量

Unix系统函数实现的困惑

unix - httrack 跟随重定向

iphone - 通过 http 向 Three20 iPhone 应用程序提供 PNG 图像

linux - 如何在 Linux (Centos 6.4) 上安装 Excelsior JET