См. ниже:
read -p "Enter keyword: " keyword
if search=$(grep "$keyword"./records)
then
echo "$search"
else
echo "$keyword not found!"
fi
$()
, как было указано выше @jasonwryan cat
с grep
.Используйте grep <pattern> file
вместо ;;
послеfi
Округление никогда не бывает легким и не может быть точным , однако до 15 цифр (для 53-битной мантиссы )аппроксимация (округление )должно происходить в сторону правильный номер.
$ printf '%s\n' 999 1000 1001 | awk '{ v=log($1) / log(10); printf("%.15g\n",v) }'
2.99956548822598
3
3.00043407747932
Таким образом, округление до ближайшего целого числа (в сторону нуля, а также с учетом отрицательных чисел )с помощью %i
даст нужное целое число:
$ printf '%s\n' 999 1000 1001 |
awk '{
v=log($1) / log(10);
result=sprintf("%.15g",v);
printf("%-15s %i\n",v, result)
}
'
2.99957 2
3 3
3.00043 3
Это должно работать правильно до 14-значных чисел (не пытайтесь расширяться дальше с 53-битной мантиссой по умолчанию awk, в некоторых случаях это не удастся ).