Я не совсем понимаю, что вы пытаетесь сделать, но я вижу одну проблему: число не может быть одновременно больше 1700 и меньше 0800, поэтому ваш оператор if всегда будет возвращать false. Вам нужно использовать оператор or
вместо and
.
Вот что я придумал, и это работает:
#!/bin/bash
hr=$(date +%H%M)
if [[ $hr -ge "1700" || $hr -lt "0800" ]]; then
echo "success"
fi
Возможно, вы хотите
awk '
NR == FNR {ids[$1]=1; next}
$3 in ids {print $3, $12}
' 7253.txt *.logistic > result.txt