Простым решением было установить менеджер пакетов G-debi в Ubuntu 16.04 и загрузить файл .deb в ваш дом. затем выполните команду
$ sudo gdebi <packagename>.deb
, и она будет установлена плавно. Существует GUI-способ, но я не знаю, как его использовать, а запущенные команды проще.
Предполагая, что «плавающая точка» означает [-]d.ddde±dd «научная нотация», вы можете использовать awk
awk '/L_International_node-globe/ {printf("%e\n", $2)}' text1 > text2
Вы можете использовать спецификатор %g, если вы хотите, чтобы формат изменялся между %f и %e в зависимости от размера экспоненты.
Следующая команда должна делать то, что вы хотите,
grep 'L_International_node-globe' text1|tr -s ' ' '\t'|cut -f 2 > text2
печатать строку с ключевым словом (и значением), которое вы хотите получить из файла text1 конвертировать пространственное разделение в TAB печатать второе поле (первое поле после ключевого слова) перенаправить вывод в файл text2 Я не уверен, что вы подразумеваете под float. Оболочка будет печатать символьную строку, а различные программы могут интерпретировать ее как число в формате float.
OK, вы хотите, чтобы запятая была как десятичный разделитель. Это делается с заменой sed.
grep 'L_International_node-globe' text1|tr -s ' ' '\t'|cut -f 2 | sed 's/\./,/' > text2
В ответ на ваш предложенный shellscript я предлагаю следующую измененную версию:
#!/bin/bash
if [ $# -ne 2 ]
then
echo "
Usage: $0 <path/infile> <path/outfile>
Example: $0 text1 text2"
exit
fi
# extracting the value
var=$(grep 'L_International_node-globe' "$1"|tr -s ' ' '\t'|cut -f 2)
echo "debug1: $var"
# install and use 'bc'
# calculation; 'scale' sets the number of decimals in the output (truncated)
var=$(echo "scale=3
$var/1000000000" | bc) #the result should be in Gigabits
echo "debug2: $var"
# conversion to comma as decimal separator
var=${var/./,}
echo "debug3: $var"
echo "$var" > "$2" # after every execution the output file should have a new value
Примеры с данными из вашего исходного вопроса,
$ ./scriptname
Usage: ./scriptname <path/infile> <path/outfile>
Example: ./scriptname text1 text2
$ ./script-name text1 text2 ; echo '-----------';cat text2
debug1: 115911592756.879990
debug2: 115.911
debug3: 115,911
-----------
115,911
Предполагая, что «плавающая точка» означает [-]d.ddde±dd «научная нотация», вы можете использовать awk
awk '/L_International_node-globe/ {printf("%e\n", $2)}' text1 > text2
Вы можете использовать спецификатор %g, если вы хотите, чтобы формат изменялся между %f и %e в зависимости от размера экспоненты.
Следующая команда должна делать то, что вы хотите,
grep 'L_International_node-globe' text1|tr -s ' ' '\t'|cut -f 2 > text2
печатать строку с ключевым словом (и значением), которое вы хотите получить из файла text1 конвертировать пространственное разделение в TAB печатать второе поле (первое поле после ключевого слова) перенаправить вывод в файл text2 Я не уверен, что вы подразумеваете под float. Оболочка будет печатать символьную строку, а различные программы могут интерпретировать ее как число в формате float.
OK, вы хотите, чтобы запятая была как десятичный разделитель. Это делается с заменой sed.
grep 'L_International_node-globe' text1|tr -s ' ' '\t'|cut -f 2 | sed 's/\./,/' > text2
В ответ на ваш предложенный shellscript я предлагаю следующую измененную версию:
#!/bin/bash
if [ $# -ne 2 ]
then
echo "
Usage: $0 <path/infile> <path/outfile>
Example: $0 text1 text2"
exit
fi
# extracting the value
var=$(grep 'L_International_node-globe' "$1"|tr -s ' ' '\t'|cut -f 2)
echo "debug1: $var"
# install and use 'bc'
# calculation; 'scale' sets the number of decimals in the output (truncated)
var=$(echo "scale=3
$var/1000000000" | bc) #the result should be in Gigabits
echo "debug2: $var"
# conversion to comma as decimal separator
var=${var/./,}
echo "debug3: $var"
echo "$var" > "$2" # after every execution the output file should have a new value
Примеры с данными из вашего исходного вопроса,
$ ./scriptname
Usage: ./scriptname <path/infile> <path/outfile>
Example: ./scriptname text1 text2
$ ./script-name text1 text2 ; echo '-----------';cat text2
debug1: 115911592756.879990
debug2: 115.911
debug3: 115,911
-----------
115,911