Мой редактор blufish был исправлен после выполнения ниже:
sudo nano /etc/apt/sources.list
add below lines:
deb http://ppa.launchpad.net/klaus-vormweg/bluefish/ubuntu trusty main
deb-src http://ppa.launchpad.net/klaus-vormweg/bluefish/ubuntu trusty main
ПРИМЕЧАНИЕ. Верно в приведенных выше строках для версии Ubuntu 14.04, ваш может быть другим
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
ПРИМЕЧАНИЕ. : 8938CE95D36FE61D в приведенной ниже строке - это то, что я получил в своей ошибке
gpg --keyserver keyserver.ubuntu.com --recv 8938CE95D36FE61D
gpg --export --armor 8938CE95D36FE61D | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Я бы просто использовал perl:
$ perl -lne 'print $_/1000' file
12.34509
236.575665
18.86541
45.67887
Или awk:
$ awk '{printf "%.6f\n", $1/1000}' file
12.345090
236.575665
18.865410
45.678870
Предположим, что числовое значение сохраняется в переменной dalton. Затем он работает со значениями, которые достаточно велики для создания ненулевых значений с помощью простой конструкции $(()).
Пример:
$ dalton=3800
$ echo $(($dalton/1000))
3
Чтобы получить правильное округление до ближайшего целого числа
$ echo $(( ($dalton+500)/1000 ))
4
У вас есть больше возможностей, если вы устанавливаете bc.
sudo apt-get install bc
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3 # set the number of decimals
dalton=3800
dalton/1000
3.800
(dalton+0,5)/1000
(standard_in) 4: syntax error # use decimal point (not comma)
(dalton+0.5)/1000 # add 0.5 to get correct rounding
3.800
dalton=3800.8
(dalton+0.5)/1000
3.801
dalton=3800.2
(dalton+0.5)/1000
3.800
quit
$
В shellscript вы можете вставлять вход в bc так,
echo "scale=3
($dalton+0.5)/1000" | bc
, который также может быть протестирован в интерактивном режиме,
$ dalton=3800.8
$ echo "scale=3
($dalton+0.5)/1000" | bc
3.801
$
Создайте shellscript с именем converter
#!/bin/bash
dalton=
function convert2kilo {
echo "scale=6
($dalton+0.0005)/1000" | bc
}
########################################################################
# main
########################################################################
while read dalton
do
convert2kilo
done
и входной файл с именем input.data
12345.09
236575.665
18865.41
45678.87
1.0008
1.0002
Сделать исполняемый файл shellscript
chmod ugo+x converter
Запустить shellscript
$ < input.data ./converter
12.345090
236.575665
18.865410
45.678870
.001001
.001000
$
Этот маленький скрипт был бы полезен:
#!/bin/bash
values="$1"
echo "Source of values: $values"
while read -e name; do
results=$(bc <<< "scale=4; ($name/1000)")
echo "$results"
done < "$values"
Использование:
Сделать исполняемый файл с помощью:chmod u+x dalton.sh
Запустить и передать путь к файлу данных или имени файла : ./dalton.sh data.txt
Предположим, что у вас есть текстовый файл с именем daltons, например, со всеми численными значениями, которые вы хотите преобразовать, в одном столбце.
awk '{kDa=$1/1000; print kDa}' daltons >> result
Где kDa является переменной для сохранения операции, а $1 будет принимать каждое из значений строк. Наконец, результаты сохраняются в файле result.
Предположим, что у вас есть текстовый файл с именем daltons, например, со всеми численными значениями, которые вы хотите преобразовать, в одном столбце.
awk '{kDa=$1/1000; print kDa}' daltons >> result
Где kDa является переменной для сохранения операции, а $1 будет принимать каждое из значений строк. Наконец, результаты сохраняются в файле result.
Предположим, что числовое значение сохраняется в переменной dalton. Затем он работает со значениями, которые достаточно велики для создания ненулевых значений с помощью простой конструкции $(()).
Пример:
$ dalton=3800
$ echo $(($dalton/1000))
3
Чтобы получить правильное округление до ближайшего целого числа
$ echo $(( ($dalton+500)/1000 ))
4
У вас есть больше возможностей, если вы устанавливаете bc.
sudo apt-get install bc
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3 # set the number of decimals
dalton=3800
dalton/1000
3.800
(dalton+0,5)/1000
(standard_in) 4: syntax error # use decimal point (not comma)
(dalton+0.5)/1000 # add 0.5 to get correct rounding
3.800
dalton=3800.8
(dalton+0.5)/1000
3.801
dalton=3800.2
(dalton+0.5)/1000
3.800
quit
$
В shellscript вы можете вставлять вход в bc так,
echo "scale=3
($dalton+0.5)/1000" | bc
, который также может быть протестирован в интерактивном режиме,
$ dalton=3800.8
$ echo "scale=3
($dalton+0.5)/1000" | bc
3.801
$
Создайте shellscript с именем converter
#!/bin/bash
dalton=
function convert2kilo {
echo "scale=6
($dalton+0.0005)/1000" | bc
}
########################################################################
# main
########################################################################
while read dalton
do
convert2kilo
done
и входной файл с именем input.data
12345.09
236575.665
18865.41
45678.87
1.0008
1.0002
Сделать исполняемый файл shellscript
chmod ugo+x converter
Запустить shellscript
$ < input.data ./converter
12.345090
236.575665
18.865410
45.678870
.001001
.001000
$
Этот маленький скрипт был бы полезен:
#!/bin/bash
values="$1"
echo "Source of values: $values"
while read -e name; do
results=$(bc <<< "scale=4; ($name/1000)")
echo "$results"
done < "$values"
Использование:
Сделать исполняемый файл с помощью:chmod u+x dalton.sh
Запустить и передать путь к файлу данных или имени файла : ./dalton.sh data.txt
Предположим, что у вас есть текстовый файл с именем daltons, например, со всеми численными значениями, которые вы хотите преобразовать, в одном столбце.
awk '{kDa=$1/1000; print kDa}' daltons >> result
Где kDa является переменной для сохранения операции, а $1 будет принимать каждое из значений строк. Наконец, результаты сохраняются в файле result.
Предположим, что числовое значение сохраняется в переменной dalton. Затем он работает со значениями, которые достаточно велики для создания ненулевых значений с помощью простой конструкции $(()).
Пример:
$ dalton=3800
$ echo $(($dalton/1000))
3
Чтобы получить правильное округление до ближайшего целого числа
$ echo $(( ($dalton+500)/1000 ))
4
У вас есть больше возможностей, если вы устанавливаете bc.
sudo apt-get install bc
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3 # set the number of decimals
dalton=3800
dalton/1000
3.800
(dalton+0,5)/1000
(standard_in) 4: syntax error # use decimal point (not comma)
(dalton+0.5)/1000 # add 0.5 to get correct rounding
3.800
dalton=3800.8
(dalton+0.5)/1000
3.801
dalton=3800.2
(dalton+0.5)/1000
3.800
quit
$
В shellscript вы можете вставлять вход в bc так,
echo "scale=3
($dalton+0.5)/1000" | bc
, который также может быть протестирован в интерактивном режиме,
$ dalton=3800.8
$ echo "scale=3
($dalton+0.5)/1000" | bc
3.801
$
Создайте shellscript с именем converter
#!/bin/bash
dalton=
function convert2kilo {
echo "scale=6
($dalton+0.0005)/1000" | bc
}
########################################################################
# main
########################################################################
while read dalton
do
convert2kilo
done
и входной файл с именем input.data
12345.09
236575.665
18865.41
45678.87
1.0008
1.0002
Сделать исполняемый файл shellscript
chmod ugo+x converter
Запустить shellscript
$ < input.data ./converter
12.345090
236.575665
18.865410
45.678870
.001001
.001000
$
Этот маленький скрипт был бы полезен:
#!/bin/bash
values="$1"
echo "Source of values: $values"
while read -e name; do
results=$(bc <<< "scale=4; ($name/1000)")
echo "$results"
done < "$values"
Использование:
Сделать исполняемый файл с помощью:chmod u+x dalton.sh
Запустить и передать путь к файлу данных или имени файла : ./dalton.sh data.txt