我在列出选定文件夹中的所有最新文件时遇到问题。情况是,服务器有 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/