我必须按这种模式搜索:
_20181106
20181106 是昨天的日期,因此它必须是一个变量,例如
TZ=aaa24 date +%Y%m%d
如何搜索具有这种模式的文件?
我正在使用 AIX
答案1
在 AIX 上,使用/bin/ksh93
:
grep "_$(printf '%(%Y%m%d)T' yesterday)" filename
或者:
grep "$(printf '_%(%Y%m%d)T' yesterday)" filename
或者:
yesterday=$(printf '%(%Y%m%d)T' yesterday)
grep "_$yesterday" filename
注意
TZ=aaa24 date
将给出比 UTC 日期早 24 小时的日期,因此仅对给出当地时间遵循 UTC 的昨天日期有效(尽管它可能会在其他时区为您提供一天中某些时间的正确日期)。
答案2
我不知道你的问题中的“aaa24”是什么,但这可能对你有帮助:
date
在运行 grep 之前使用命令替换来评估命令。
grep $(date +%Y%m%d) foo