умножить определенный столбец в файле, состоящем из тысяч столбцов

Паника ядра — это либо ошибка, обнаруженная программным обеспечением, либо некоторая аппаратная ловушка, которая сработала и была обнаружена ядром как находящаяся в коде ядра. Единственная безопасная вещь для ядра — это паника (, т. е. добровольная остановка ). Это может быть вызвано плохой памятью, из-за которой ядро ​​выполняет неправильное содержимое памяти как код, или плохой памятью, из-за которой ядро ​​​​получает неверные данные, что приводит к некоторой ошибке или обнаруженному несоответствию.

Ошибка страницы на уровне ядра также вызвана неправильными данными ядра; ядро пытается получить доступ к несуществующей странице, вероятно, потому, что оно использует неверный адрес, извлеченный из памяти. В этом случае все, что знает ядро, это то, что оно использовало неверный адрес; можно проследить код с помощью отладчика, чтобы понять, как это началось, но вы не уйдете далеко назад, прежде чем столкнетесь с несколькими причинами.

В результате все, что вы можете сделать, если у вас возникнут ошибки страниц на уровне ядра, это протестировать оборудование!

0
16.07.2019, 18:37
3 ответа

попробуй

awk '{$1=$1*10 ; print }'

это изменит первый параметр и напечатает всю строку.

чтобы продолжить форматирование до 3 цифр, используйте

awk '{$1=sprintf("%.3f",$1*10);print;}' 
2
28.01.2020, 02:29

Протестировано с помощью Python

#!/usr/bin/python
import re
k=open('p.txt','r')
for i in k:
    k=re.sub(' +',' ',i).split(' ')
    print float(k[0])*10,k[1],k[2]

выход

-173.644 0.00000000 0.00000000
-172.703 0.00000000 0.00000000
-171.761 0.00000000 0.00000000
-165.173 0.00000000 0.00000000
-164.232 0.00000000 0.00000000
0
28.01.2020, 02:29
$ < infile tr \- _ |
  dc -e "
    [q]sq
    [SMlN1+sNz1<a]sa
    [LMn32anlN1-dsN0<b]sb
    [?z0=q0sNlax.1/n32anlbx[]pclcx]sc
    3klcx
  "

Выход:

-173.644 0 0 0 0 0 0 
-172.703 0 0 0 0 0 0 
-171.761 0 0 0 0 0 0 
-165.173 0 0 0 0 0 0 
-164.232 0 0 0 0 0 0

Краткое пояснение:

dc— калькулятор с обратной польской записью RPN, который хранит данные в своем основном стеке. Храните в именованном стеке M полей текущей строки, пока не дойдете только до одного постоянного. Разделите его.1 == умножьте на 10 И примените масштабирование к результату. Теперь повторно извлеките стек M и поместите обратно в основной стек поля текущей строки, которые остались неизмененными. Продолжайте выводить их на стандартный вывод, одновременно извлекая их из стека M. В конце файла или при достижении пустой/пустой строки, в зависимости от того, что произойдет раньше, мы выходим.

0
28.01.2020, 02:29

Теги

Похожие вопросы