【发布时间】:2015-04-01 21:45:54
【问题描述】:
当前目录包含不断出现的新日志。
/tmp/logstash/ 目录包含我将比较新日志的日志
条件:
如果新日志具有相同的名称和 /tmp/logstash 中已经存在的大小,我应该得到“相同的文件已经存在”消息。
否则脚本会将新日志移动到 /tmp/logstash/。
注意,如果名称相同但大小不同,脚本仍应将新文件移动到 tmp/logstash/
我的脚本如下,它不能与'then && if'组合正常工作,你能帮忙解决它吗?
for file in *.log; do
new_filesize=$(du -b "$file" | cut -f 1)
if [[ -e /tmp/logstash/"$file" ]]
then
old_filesize=$(du -b /tmp/logstash/"$file" | cut -f 1) &&
if [[ "$new_filesize"="$old_filesize" ]]; then
echo "The file already exists"
fi
else mv $file /tmp/logstash
fi
done
【问题讨论】:
标签: bash shell if-statement for-loop