unix - 如何在 UNIX 中创建新文件夹并将早于特定日期的“.log”文件从某个位置复制到该文件夹?
问题描述
我需要做一些测试,我想在我的 Unix 服务器(Redhat Linux 6.9(64 位))的 Dev 实例中创建一个临时目录,并将文件复制到我想要执行测试的那个目录中。
解决方案
以下脚本应该执行您所描述的操作:
#! /bin/bash
read -p 'enter name of new folder: ' dir
if [ -e "$dir" ]; then
echo 'A folder with the specified name already exists. Choose a different name.'
else
mkdir "$dir"
while read -r ; do
mystring="${REPLY:2}"
mystring="$(sed 's/\//_/g' <<<"$mystring")"
cp "$REPLY" "$dir/$mystring"
done < <(find / -mtime +30 -name '*.log' -type f)
fi
您可以根据find
需要调整底部的命令:
+30
表示超过 30 天的文件,并且/
指定要用于搜索日志文件的搜索目录。
在这里,我假设您要在根目录中搜索日志文件/
。
推荐阅读
- html - Bootstrap 4导航栏折叠不堆叠导航项目
- javascript - 如何将标题横幅添加到外部网站并在加载后在后台使用扩展名显示以加载 js 文件
- sql - 对 2 个表进行计数和完全外连接
- python - 在 np.nonzero 中获取 numpy 2d 切片的原始行
- javascript - 有时会错过 OnkeyUp 事件
- javascript - 使用 React.js 存储在 fetch() 上生成的令牌
- java-8 - Java 8:遍历 Map 的所有元素
- c++ - 在模板类中返回模板变量的方法?
- sql - 在特定持续时间内发生的情节事件
- header - 如何测试 CORS 标头