我有这份文件
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但我没有得到任何结果。
发布于 2015-04-23 20:32:48
问题是:
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但是,给定示例输入,这将与任何内容不匹配。
在你的要求被澄清之前,我无法控制逻辑。
https://stackoverflow.com/questions/29833496
复制相似问题