我是 bash 脚本的新手,想要创建 bash 脚本,根据脚本中定义的天数在源和目标之间移动几天的旧文件。
#!/bin/bash
echo "Enter Your Source Directory"
read soure
echo "Enter Your Destination Directory"
read destination
echo "Enter Days"
read days
find $soure -mtime -$days -exec mv {} $destination \;
echo "Files which were $days Days old moved from $soure to $destination"
我的脚本运行没有错误,但我没有得到所需的输出。当我运行将 /home/ketan/maxi 文件夹的 30 天旧文件移动到 /home/ketan/google 时,它将整个 maxi 文件夹而不是文件移动到 google。
我需要能够根据脚本移动符合年龄标准的文件。这个脚本有什么问题?
答案1
该find
表达式也将匹配父目录。如果您希望它仅移动文件,则需要告诉它仅对常规文件进行操作。此外,您应该引用您的扩展。
find "$soure" -type f -mtime "-$days" -exec mv {} "$destination" \;