我试图简单地将文本文件中的一行与今天的日期进行比较。 我想要帮助的行似乎总是对我的代码进行评估。 有什么例子吗?
我的代码:
set %lines $lines(test.txt)
set %date $adate
while (%i <= %lines)
set %read $read(test.txt, n, %i)
if( %date isin %read ){ ; <-- Line in question
do things
}
}
答案 0 :(得分:0)
你有一些错误。
你的while循环缺少一个开括号。 (并在结束时结束)
while (%i <= %lines) {
你必须在(){}和其余行之间留一个空格
if<space>(
)<space> {
if ( %date isin %read ) {
我冒昧地建议另一个版本。
<强>代码:强>
var %filename = test.txt
var %lines = $lines(%filename)
var %currentDate = $adate
var %i = 1
while (%i <= %lines) {
var %line = $read(%filename, n, %i)
if (%currentDate isin %line) {
# do things
# Should uncomment the break in case you want to stop after a match
#break
}
inc %i
}
答案 1 :(得分:0)
如果我不理解,我很抱歉,但是为了检查文本文件行中是否有日期格式,复杂脚本的原因是什么?
当你可以在循环之后执行IF条件时,没有理由设置变量%read
来存储有问题的循环行:
var %x = 1
while (%x <= $lines(test.txt)) {
if ($adate isin $read(test.txt,n,%x)) {
;do things
}
inc %x
}