linux - 编写shell脚本将目录中最旧的文件移动到新目录。?
问题描述
我是 shell 脚本的新手。我正在寻找解决方案。如果我的目录中有 10 个文件,则将第 11 个文件添加到此目录中。我只想将最旧的文件移动到其他目录。我为我的目录命名Work并为另一个目录命名为regular_archieve。我试过这个,
work = /home/balaji/work
regular_archieve = /home/balaji/regular_archieve
cd $work
for i in 'ls -t | sed -e '1,10d' | xargs -d '\n' rm -f'
do
mv $i $regular_archieve
done
if [ls /backup | wc -1 > 10 | mv /home/balaji/regular-archieve]
then
echo "more than 10 n files"
fi
ls -t | sed -e '1,10d' | xargs -d '\n' mv -f regular-archieve
但我无法将文件移动到另一个目录。
解决方案
您可以使用以下命令将最旧的文件移动到其他目录:
mv $(ls -t /home/balaji/work| tail -1) /home/balaji/regular_archieve/
ls -t
:此命令将列出目录中的所有文件,按修改时间排序,最新的在前。
tail -1
:它将选择最后一个文件,这将是最旧的文件。
推荐阅读
- xslt - 如何知道 xslt 运算符的顺序?
- powershell - 用定义的文本替换文本
- swiftui - 跟随 NavigationLink 并返回后,SwiftUI .toolbar 消失
- c++ - Clang-tidy 启用 C++17 扩展
- java - 使用不需要的值在 Java 中执行两次(错误)的查询
- jquery - 在 RabbitMQ 上升级到 JQuery 版本 3.5.0 或更高版本
- java - 尝试将环境变量读取到自定义属性文件中,而不是在 spring boot 中的 application.property
- ios - Xcode if 语句从不识别活动编译条件
- android - Flutter AppUpdateService 链接到死亡
- python - 如果元素不存在,则使用 getElementsByTagName 跳过元素