Пока данные являются пространством, разграничил Вас, может загрузить содержание файла в массив как так:
arr=$(< data.txt)
Однажды данные, загруженный в массив, $arr
можно затем использовать a for
цикл, чтобы пройти его и выполнить Ваше подразделение 1 024.
$ for num in ${arr[*]}; do
res=$( expr $num / 1024 )
echo "$num / 1024 = $res"
done
$ for num in ${arr[*]}; do res=$( expr $num / 1024 ); echo "$num / 1024 = $res";done
4096 / 1024 = 4
1230 / 1024 = 1
4560 / 1024 = 4
1024 / 1024 = 1
Если требуется получить результаты с плавающей точкой в противоположность целым числам, можно использовать bc
сделать это вместо этого:
$ for num in ${arr[*]}; do
res=$(echo "scale=2; $num/1024" |bc)
echo "$num / 1024 = $res"
done
4096 / 1024 = 4.00
1230 / 1024 = 1.20
4560 / 1024 = 4.45
1024 / 1024 = 1.00
Можно управлять количеством десятичных разрядов путем изменения значения, переданного scale=
. Установка `scale=5
:
4096 / 1024 = 4.00000
1230 / 1024 = 1.20117
4560 / 1024 = 4.45312
1024 / 1024 = 1.00000
Попробуйте это,
iptables -A OUTPUT -o ethX -m owner --uid-owner {USERNAME} -j DROP
где,
- UID-владелец {имя пользователя}: соответствует, если пакет был создан процессом с заданным эффективным именем пользователя. -A: добавить правило к данной таблице / цепи -Я: Вставьте правило для начала таблицы / цепи
, например, мой идентификатор пользователя Oracle - 1000, поэтому я добавлю следующее правило:
/sbin/iptables -A OUTPUT -o eth0 -m owner --uid-owner 1000 -j DROP
service iptables save
Для этого можно использовать TCP-обертки, /etc/host.allow или /ect/host.deny, в этом файле с пользователями можно упомянуть ваш сетевой пул.