【发布时间】:2015-07-21 02:52:09
【问题描述】:
我正在用 Bash、Solaris 编写一个 Shell 脚本。
我正在尝试获取与特定文件模式匹配的最新文件并将其 SCP 覆盖。
我一直在阅读,大多数实现都是基于 ls 命令的,这对有趣的字符效果不佳。我正在寻找可以与我迄今为止所写内容一起使用的替代方案。
for i in {1..5}
do
for GMSFILE in $srcpath/KMS_MSEA_StatusAllocation_A*Y*.gms
do
if [ -e "$GMSFILE " ]
then
#GMS File Exist
TXTFILE=${GMSFILE %%.*}.txt
# Find same file name with txt extension now
if [ -f "$TXTFILE" ]
then
echo $TXTFILE
#scp -P 22 $GMSFILE $id@$ip:$destpath #>> $log 2>&1
break 2
fi
else
sleep 5
fi
done
done
【问题讨论】:
-
stat在 solaris 系统上可用吗?stat --format %Y例如以纪元秒为单位给出最后修改时间 - 允许基于整数的快速比较。 -
ls -t [pattern] | head -n 1将显示符合该模式的最新文件(假设它们都在一个目录中)。哪些“有趣的角色”会引起问题?请提供您尝试查找最新文件的示例 - 您发布的脚本与您的问题无关。