我有这个文件
goodtime 20:30 21:40
badtime 19:52 24:00
当我输入例如21:00
和21:15
时,我应该goodtime
所以这是我的剧本
#!/bin/sh
last > duom.txt
grep -F 'stud.if.ktu.lt' duom.txt > ktu.txt
echo "Nurodykite laiko intervala "
read h
read min
read h2
read min2
awk '{if ($2 ~ /$h.$m/ && $3 ~ /$h2.$min2/) print $1}' data.txt
但我没有得到任何结果。
答案 0 :(得分:1)
这个问题:
awk '{if ($2 ~ /$h.$m/ && $3 ~ /$h2.$min2/) print $1}' data.txt
您是否尝试在单引号字符串中使用shell变量。您需要使用-v
选项将shell变量传递给awk:
awk -v patt1="$h.$min" -v patt2="$h2.$min2" '
$2 ~ patt1 && $3 ~ patt2 {print $1}
' data.txt
但是,考虑到你的样本输入,这与任何东西都不匹配。
在你的要求得到澄清之前,我无法理解逻辑。